Kelola proses, disk, layanan, pengguna, dan sumber daya sistem pada server Linux melalui perintah CLI yang umum digunakan.
Manajemen proses
ps
Perintah
Perintah ps menampilkan snapshot proses saat ini.
Opsi umum
|
Opsi |
Deskripsi |
|
-A |
Menampilkan semua proses. |
|
-a |
Menampilkan semua proses pada terminal pengendali. |
|
-e |
Menampilkan semua proses. Setara dengan -A. |
|
-f |
Menampilkan daftar dalam format lengkap, termasuk kolom UID, PPID, C, dan STIME. |
|
-u |
Menampilkan proses berdasarkan pengguna efektif. |
|
-U |
Menampilkan proses berdasarkan pengguna sebenarnya. |
|
-x |
Menampilkan semua proses tanpa terminal pengendali. |
Untuk opsi lainnya, jalankan man ps.
Contoh
-
Kueri semua proses.
ps -ef -
Kueri semua proses yang cocok dengan kata kunci dalam format lengkap.
ps -ef | grep <key_word>Ganti
<key_word>dengan kata kunci aktual. -
Kueri semua proses pengguna yang cocok dengan kata kunci, termasuk yang tidak memiliki terminal pengendali.
ps -aux | grep <key_word>Ganti
<key_word>dengan kata kunci aktual. -
Kueri pohon proses.
ps -ejH -
Kueri semua proses beserta informasi thread-nya.
ps -eLf -
Kueri informasi thread dengan bidang yang ditentukan pengguna.
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm -
Kueri metrik tertentu berdasarkan PID. Pada contoh ini, PID 1 dengan
comm=mengembalikan nama perintah.ps -q 1 -o comm=
top
Perintah
Perintah top menampilkan aktivitas proses secara real-time dan penggunaan sumber daya sistem.
Opsi umum
|
Opsi |
Deskripsi |
|
-d |
Menentukan frekuensi penyegaran data. |
|
-p |
Memantau status proses berdasarkan PID. |
|
-s |
Menjalankan top dalam mode aman, menonaktifkan perintah interaktif yang berpotensi berbahaya. |
|
-i |
Mengabaikan proses idle dan zombie. |
|
-c |
Menampilkan baris perintah alih-alih hanya nama perintah. |
Bidang dalam output perintah top
Bidang dalam output perintah top (nilai bervariasi berdasarkan periode sampling):
top - 15:30:29 up 2:11, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
MiB Mem : 7607.4 total, 6642.1 free, 409.4 used, 801.4 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 7198.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
633 root 20 0 474964 29076 13644 S 0.3 0.4 0:09.58 tuned
1716 root 20 0 131676 23172 16576 S 0.3 0.3 0:28.48 AliYunDunMonito
1938 root 20 0 1460104 29564 22520 S 0.3 0.4 0:27.93 argusagent
5525 root 20 0 0 0 0 I 0.3 0.0 0:00.01 kworker/u4:1-events_unbound
1 root 20 0 103344 11320 8656 S 0.0 0.1 0:01.31 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 20 0 0 0 0 I 0.0 0.0 0:00.01 kworker/0:0-events
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
13 root 20 0 0 0 0 I 0.0 0.0 0:00.47 rcu_sched
14 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
17 root rt 0 0 0 0 S 0.0 0.0 0:00.07 migration/1
18 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/1
19 root 20 0 0 0 0 I 0.0 0.0 0:00.43 kworker/1:0-events
20 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-events_highpri
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
23 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
28 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper
29 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback
30 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kcompactd0
31 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
32 root 39 19 0 0 0 S 0.0 0.0 0:00.06 khugepaged
33 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 memcg_wmark
34 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 memcg_pgcache_l
48 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 cryptd
83 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kintegrityd
84 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd
85 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 blkcg_punt_bio
86 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 tpm_dev_wq
87 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 md
88 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 edac-poller
89 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 devfreq_wq
Bidang
Contoh
-
Kueri metrik sistem dengan frekuensi sampling tertentu
Kueri metrik sistem dengan interval 3 detik:
top 3CatatanInterval sampling default top adalah 5 detik.
-
Menyesuaikan antarmuka perintah top
Saat menjalankan top, bidang yang dijelaskan dalam bagian Bidang dalam ringkasan informasi sistem dan daftar proses ditampilkan secara default. Tekan
funtuk memilih kolom yang akan ditampilkan dan mengatur ulang urutan kolom.Fields Management for window 1:Def, whose current sort field is %CPU Navigate with Up/Dn, Right selects for move then <Enter> or Left commits, 'd' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end! * PID = Process Id USED = Res+Swap Size (KiB) * USER = Effective User Name nsIPC = IPC namespace Inode * PR = Priority nsMNT = MNT namespace Inode * NI = Nice Value nsNET = NET namespace Inode * VIRT = Virtual Image (KiB) nsPID = PID namespace Inode * RES = Resident Size (KiB) nsUSER = USER namespace Inode * SHR = Shared Memory (KiB) nsUTS = UTS namespace Inode * S = Process Status LXC = LXC container name * %CPU = CPU Usage RSan = RES Anonymous (KiB) * %MEM = Memory Usage (RES) RSfd = RES File-based (KiB) * TIME+ = CPU Time, hundredths RSlk = RES Locked (KiB) * COMMAND = Command Name/Line RSsh = RES Shared (KiB) PPID = Parent Process pid CGNAME = Control Group name UID = Effective User Id NU = Last Used NUMA node RUID = Real User Id RUSER = Real User Name SUID = Saved User Id SUSER = Saved User Name GID = Group Id GROUP = Group Name PGRP = Process Group Id TTY = Controlling Tty TPGID = Tty Process Grp Id SID = Session Id nTH = Number of Threads P = Last Used Cpu (SMP) TIME = CPU Time SWAP = Swapped Size (KiB) CODE = Code Size (KiB) DATA = Data+Stack (KiB) nMaj = Major Page Faults nMin = Minor Page Faults nDRT = Dirty Pages Count WCHAN = Sleeping in Function Flags = Task Flags <sched.h> CGROUPS = Control Groups SUPGIDS = Supp Groups IDs SUPGRPS = Supp Groups Names TGID = Thread Group Id OOMa = OOMEM Adjustment OOMs = OOMEM Score current ENVIRON = Environment vars vMj = Major Faults delta vMn = Minor Faults deltaTombol untuk mengelola antarmuka perintah top:
Key
Deskripsi
↑ dan ↓
Menggulir ke atas dan ke bawah untuk memilih bidang.
→
Memilih seluruh kolom. Tekan UP atau DOWN untuk memindahkannya.
Space
Mengalihkan visibilitas bidang. Tanda bintang (*) menunjukkan bidang tersebut ditampilkan.
s
Menetapkan kolom saat ini sebagai kolom pengurutan.
q
Keluar dari antarmuka perintah top.
-
Menggunakan perintah top dalam mode interaktif
Dalam mode interaktif, tekan tombol untuk mengontrol tampilan:
Kunci
Deskripsi
1
Menampilkan status per-CPU logis.
u
Memfilter proses berdasarkan pengguna.
E
Mengganti unit memori: KiB, MiB, GiB, TiB, PiB, atau EiB.
x
Menyorot kolom pengurutan.
y
Menyorot proses yang sedang berjalan.
?
Menampilkan informasi bantuan.
-
Kueri nama dan direktori proses berdasarkan PID
Jalankan top untuk menemukan PID proses. Pada contoh ini, proses
aliyun-servicememiliki PID 1325.Jalankan perintah
top. Anda dapat melihat bahwa proses dengan PID 1325 adalahaliyun-service.Tasks: 188 total, 1 running, 186 sleeping, 0 stopped, 1 zombie %Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.1 hi, 0.1 si, 0.0 st MiB Mem : 15468.8 total, 12290.5 free, 1710.8 used, 1783.7 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 13758.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 15831 root 20 0 1401860 42152 20472 S 0.5 0.3 2:59.24 taihao_exporter 17830 root 20 0 1153952 127996 65356 S 0.5 0.8 2:57.27 ilogtail 971 root 20 0 2312484 29944 22544 S 0.3 0.2 3:28.78 argusagent 1325 root 20 0 686276 18700 13028 S 0.3 0.1 0:40.97 aliyun-service 392452 root 20 0 0 0 0 I 0.3 0.0 0:00.36 kworker/u8:3-events_unbound 1 root 20 0 169452 11824 8644 S 0.0 0.1 0:48.72 systemdKueri direktori proses aliyun-service:
cd /proc/1352 ls -ailDalam output perintah, tautan simbolik
exemengarah ke/usr/local/share/aliyun-assist/2.2.3.857/aliyun-service, yaitu path file yang dapat dieksekusi dari proses 1325.[root 1325]# ls -ail total 0 24390 dr-xr-xr-x 9 root root 0 Jan 22 13:17 . 1 dr-xr-xr-x 253 root root 0 Jan 22 13:17 .. 3003054 -r--r--r-- 1 root root 0 Jan 23 17:01 arch_status 28694 dr-xr-xr-x 2 root root 0 Jan 22 13:17 attr 3003026 -rw-r--r-- 1 root root 0 Jan 23 17:01 autogroup 3003022 -r-------- 1 root root 0 Jan 23 17:01 auxv 28698 -r--r--r-- 1 root root 0 Jan 22 13:17 cgroup 3003034 --w------- 1 root root 0 Jan 23 17:01 clear_refs 26278 -r--r--r-- 1 root root 0 Jan 22 13:17 cmdline 28693 -rw-r--r-- 1 root root 0 Jan 22 13:17 comm 3003046 -rw-r--r-- 1 root root 0 Jan 23 17:01 coredump_filter 3003042 -r--r--r-- 1 root root 0 Jan 23 17:01 cpu_resctrl_groups 3003041 -r--r--r-- 1 root root 0 Jan 23 17:01 cpuset 52865 lrwxrwxrwx 1 root root 0 Jan 22 13:18 cwd -> / 3003021 -r-------- 1 root root 0 Jan 23 17:01 environ 27984 lrwxrwxrwx 1 root root 0 Jan 22 13:17 exe -> /usr/local/share/aliyun-assist/2.2.3.857/aliyun-service 22392 dr-x------ 2 root root 0 Jan 22 13:17 fd 3003019 dr-x------ 1 root root 0 Jan 23 17:01 fdinfo 3003048 -rw-r--r-- 1 root root 0 Jan 23 17:01 gid_map 79376 1 root root 0 Jan 22 13:21 io 3003024 -r--r--r-- 1 root root 0 Jan 23 17:01 limits 28697 -rw-r--r-- 1 root root 0 Jan 22 13:17 loginuid -
Menghentikan proses berdasarkan PID
Dalam mode interaktif, tekan
k, masukkan PID, lalu tekanEnteruntuk menghentikan proses.top - 17:19:44 up 3:50, 0 user, load average: 0.00, 0.00, 0.00 Tasks: 117 total, 1 running, 116 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7414.8 total, 6142.9 free, 471.8 used, 1059.6 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 6943.1 avail Mem Send pid 4717 signal [15/sigterm] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4717 root 20 0 101088 19384 13184 S 0.7 0.3 0:32.65 AliYunDun 4744 root 20 0 139200 29284 19456 S 0.7 0.4 1:11.93 AliYunDunMonito 1076 root 20 0 468824 13312 11392 S 0.3 0.2 0:00.19 udisksd 4574 root 20 0 1244388 25856 23680 S 0.3 0.3 0:38.55 argusagent 1 root 20 0 22716 13644 9336 S 0.0 0.2 0:03.74 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 I 0.0 0.0 0:00.00 pool_workqueue_release 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-rcu_g 5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-rcu_p 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-slub_ 7 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-netns 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri 12 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/R-mm_pe
kill
Perintah
Perintah kill menghentikan proses dengan mengirimkan sinyal.
Opsi umum
|
Opsi |
Deskripsi |
|
-l |
Menampilkan semua nama sinyal yang tersedia. |
|
-L |
Menampilkan semua nama sinyal dan nomor yang sesuai. |
Contoh
-
Menghentikan semua proses.
sudo kill -9 -1 -
Menampilkan nama sinyal dengan nomor 11.
sudo kill -l 11 -
Menampilkan semua nama sinyal dan nomor yang sesuai.
sudo kill -L -
Menghentikan proses berdasarkan PID.
sudo kill -9 <PID>Ganti
<PID>dengan PID aktual.
killall
Perintah
Perintah killall menghentikan semua proses yang cocok dengan nama tertentu.
Opsi umum
|
Opsi |
Deskripsi |
|
-g |
Menghentikan proses dalam grup proses. |
|
-i |
Meminta konfirmasi pengguna sebelum menghentikan proses. |
|
-v |
Memberikan laporan apakah sinyal telah dikirim. |
Contoh
Hentikan proses teratas.
sudo killall top
Informasi sistem
Kueri informasi sistem dan perangkat keras dengan uname dan dmidecode.
uname
Perintah
Perintah uname menampilkan informasi sistem.
Opsi umum
|
Opsi |
Deskripsi |
|
-a |
Menampilkan semua informasi sistem. |
|
-s |
Menampilkan nama kernel. |
|
-n |
Menampilkan hostname dari node jaringan. |
|
-r |
Menampilkan rilis kernel. |
|
-v |
Menampilkan versi kernel. |
|
-m |
Menampilkan nama perangkat keras mesin. |
|
-P |
Menampilkan jenis prosesor. |
|
-i |
Menampilkan informasi platform perangkat keras. |
|
-o |
Menampilkan informasi sistem operasi. |
Contoh
-
Kueri semua informasi sistem.
uname -a -
Jalankan
uname -matauarchuntuk kueri arsitektur CPU. Output bervariasi berdasarkan arsitektur.Output perintah untuk arsitektur Arm
[t@iUf682 xxx ~]# uname -m aarch64 [t@iUf682 xxx ~]# arch aarch64Output perintah untuk arsitektur x86
[root@iZbp144wor*** ~]# uname -m x86_64 [root@iZbp144wor*** ~]# arch x86_64
dmidecode
Perintah dmidecode mengekstrak informasi perangkat keras dari BIOS sistem melalui tabel DMI, termasuk:
-
Informasi sistem: vendor, nama, versi, nomor seri (SN), dan model.
-
Informasi prosesor: model, kecepatan, dan jumlah core.
-
Informasi memori: jumlah slot, ukuran, jenis, dan kecepatan.
-
Informasi motherboard: vendor, versi, dan SN.
-
Informasi BIOS: versi dan tanggal rilis.
-
Informasi catu daya: spesifikasi dan model.
-
Informasi perangkat: komponen perangkat keras seperti adaptor jaringan.
-
Menampilkan semua informasi perangkat keras dari tabel DMI.
sudo dmidecode -
Untuk menampilkan hanya entri jenis tertentu, gunakan opsi
-t. Misalnya, tampilkan entri memori:sudo dmidecode -t memory
Informasi CPU dan memori fisik
-
Jumlah total core = Jumlah CPU fisik × Jumlah core per CPU fisik
-
Jumlah total CPU logis = Jumlah CPU fisik × Jumlah core per CPU fisik × Faktor Hyper-Threading
Perintah umum untuk kueri detail CPU dan memori:
-
Kueri jumlah CPU fisik.
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l -
Kueri jumlah core per CPU fisik.
cat /proc/cpuinfo| grep "cpu cores"| uniq -
Kueri jumlah CPU logis.
cat /proc/cpuinfo| grep "processor"| wc -l -
Kueri model CPU.
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c -
Kueri informasi memori.
cat /proc/meminfo
Kueri detail CPU
Jalankan lscpu untuk kueri detail CPU. Output bervariasi berdasarkan arsitektur.
-
Output perintah untuk arsitektur Arm
[root@iZuf682tl xxx ~]# lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per cluster: 4 Socket(s): 1 Cluster(s): 1 NUMA node(s): 1 Vendor ID: ARM BIOS Vendor ID: Alibaba Cloud Model: 1 Model name: Neoverse-N1 BIOS Model name: virt-rhel7.6.0 Stepping: r3p1 BogoMIPS: 50.00 NUMA node0 CPU(s): 0-3 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs -
Output perintah untuk arsitektur x86
[root@iZbp14xxxxx ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Thread(s) per core: 2 Core(s) per socket: 8 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 106 Model name: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz Stepping: 6 CPU MHz: 2899.998 BogoMIPS: 5799.99 Hypervisor vendor: KVM Virtualization type: full L1d cache: 48K L1i cache: 32K L2 cache: 1280K L3 cache: 49152K NUMA node0 CPU(s): 0-15 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities
Kueri informasi sistem operasi
Jalankan cat /proc/version untuk kueri informasi sistem operasi dan versi kompilator. Output bervariasi berdasarkan arsitektur.
-
Output perintah untuk arsitektur x86
[xxx@iZbp144wor ~]# cat /proc/version Linux version 4.19.91-26.1.al7.x86_64 (mockbuild@x86-003.build.alibaba.cm10) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)) #1 SMP Tue Jul 26 17:52:28 CST 2022 -
Output perintah untuk arsitektur Arm
[root@iZuf682t ~]# cat /proc/version Linux version 5.10.134-12.al8.aarch64 (mockbuild@r75e11320.cm10.tbsite.net) (gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3 2.32), GNU ld version 2.35-12.2.al8) #1 SMP Tue Sep 6 07:11:41 UTC 2022
Manajemen disk
df
Perintah
Perintah df melaporkan penggunaan ruang disk sistem file.
Opsi umum
|
Opsi |
Deskripsi |
|
-a |
Menyertakan sistem file pseudo, duplikat, dan yang tidak dapat diakses. |
|
-B |
Menyesuaikan ukuran blok berdasarkan ukuran yang ditentukan untuk output. |
|
-h |
Menampilkan ukuran dalam format yang mudah dibaca menggunakan faktor skala 1.024. Contoh: 1023M. |
|
-H |
Menampilkan ukuran dalam format yang mudah dibaca menggunakan faktor skala 1.000. Contoh: 1.1G. |
|
-k |
Setara dengan --block-size=1K. |
|
-l |
Menampilkan daftar sistem file lokal. |
|
-t |
Menampilkan informasi tentang sistem file jenis tertentu. |
Contoh
Kueri penggunaan ruang disk dengan ukuran blok dalam MB.
df -BM
Contoh output:
Filesystem 1M-blocks Used Available Use% Mounted on
tmpfs 742M 22M 721M 3% /run
/dev/vda3 39943M 2542M 35556M 7% /
tmpfs 3708M 0M 3708M 0% /dev/shm
tmpfs 5M 0M 5M 0% /run/lock
tmpfs 742M 1M 742M 1% /run/user/0
lsblk
Perintah
Perintah lsblk menampilkan detail perangkat blok.
Opsi umum
|
Opsi |
Deskripsi |
|
-a |
Menampilkan semua perangkat, termasuk perangkat kosong dan perangkat disk memori. |
|
-b |
Menampilkan ukuran dalam byte. |
|
-f |
Menampilkan informasi sistem file. |
Contoh
-
Kueri perangkat blok dengan informasi sistem file.
lsblk -fContoh output:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS vda |-vda1 |-vda2 vfat FAT32 6175-F96E `-vda3 ext4 1.0 df02e0a1-d28d-41b1-99c2-58f2b684cc79 34.7G 6% / -
Kueri SN disk.
Metode ini bervariasi berdasarkan distribusi Linux. Untuk Alibaba Cloud Linux 3, CentOS 7, atau Ubuntu 18:
-
Kueri perangkat penyimpanan blok yang dipasang di OS.
lsblk -
Kueri SN perangkat penyimpanan blok. Misalnya, kueri SN /dev/vda:
udevadm info --query=all --name=/dev/vda | grep ID_SERIAL
-
blkid
Perintah
Perintah blkid menampilkan atribut perangkat blok.
Contoh
Kueri atribut perangkat blok.
blkid /dev/vda
Contoh output:
/dev/vda: PTUUID="bdee1c7f-46fc-4838-9a74-9exxxxxxxxaf" PTTYPE="gpt"
fdisk
Perintah
Perintah fdisk mengelola tabel partisi disk.
Opsi umum
|
Opsi |
Deskripsi |
|
-l |
Menampilkan tabel partisi perangkat yang ditentukan. |
|
-u |
Menampilkan informasi partisi dalam sektor alih-alih silinder. |
Contoh
Kueri semua tabel partisi disk dengan informasi partisi dalam sektor.
sudo fdisk -lu
Contoh output:
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BDEE1C7F-46FC-4838-9A74-9E57F8FD63AF
Device Start End Sectors Size Type
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 83886046 83472351 39.8G Linux filesystem
mount
Perintah
Perintah mount memasang sistem file.
Opsi umum
|
Opsi |
Deskripsi |
|
-a |
Memasang semua sistem file yang dikonfigurasi dalam file |
|
-L |
Memasang partisi yang memiliki label tertentu. |
|
-r |
Memasang sistem file dalam mode read-only. |
|
-w |
Memasang sistem file dalam mode read/write. |
|
-U |
Memasang partisi yang memiliki |
Contoh
-
Memasang semua sistem file yang dikonfigurasi dalam file /etc/fstab.
sudo mount -a -
Memasang sistem file dalam mode read/write.
sudo mount -w /dev/vdb1 /mnt
umount
Perintah
Perintah umount melepas sistem file.
Opsi umum
|
Opsi |
Deskripsi |
|
-r |
Memasang ulang sistem file dalam mode read-only jika pelepasan gagal. |
|
-a |
Melepas semua sistem file yang dikonfigurasi dalam file |
|
-t |
Menentukan jenis sistem file yang akan dilepas. Pisahkan beberapa jenis dengan koma (,). |
|
-f |
Melepas sistem file secara paksa. |
Contoh
Melepas sistem file dari partisi secara paksa.
sudo umount -f /dev/vdb1
Manajemen layanan
systemctl
Perintah
Perintah systemctl mengelola layanan dan unit systemd.
Opsi umum
|
Opsi |
Deskripsi |
|
-a |
Menampilkan semua unit atau atribut yang dimuat. |
Perintah unit umum
|
Perintah |
Deskripsi |
|
start |
Memulai unit yang dimuat. |
|
stop |
Menghentikan unit yang dimuat. |
|
restart |
Memulai ulang unit yang dimuat. |
|
reload |
Memuat ulang konfigurasi unit yang ditentukan. |
|
status |
Menampilkan status runtime unit yang ditentukan. Status umum:
|
Perintah file unit umum
|
Perintah |
Deskripsi |
|
enable |
Mengaktifkan unit atau instance unit yang ditentukan. |
|
disable |
Menonaktifkan unit atau instance unit yang ditentukan. |
Contoh
-
Restart layanan
NGINX.sudo systemctl restart nginx -
Periksa status runtime layanan
NGINX.sudo systemctl status nginx -
Aktifkan layanan
NGINXagar berjalan saat boot.sudo systemctl enable nginx -
Daftar semua layanan yang diaktifkan untuk berjalan saat boot.
sudo systemctl list-unit-files --type=service --state=enabled
Penggunaan sumber daya
lsof
Perintah
Perintah lsof mencantumkan file yang terbuka beserta proses terkaitnya.
Jika lsof belum dipra-instal, instal menggunakan manajer paket:
-
Alibaba Cloud Linux, CentOS, dan RHEL:
sudo yum install lsof -
Ubuntu dan Debian:
sudo apt install lsof
Opsi umum
|
Opsi |
Deskripsi |
|
-p |
Menampilkan file yang dibuka oleh proses. |
|
-l |
Mengganti ID pengguna dengan username dalam output. |
|
-u |
Menampilkan file yang dibuka oleh pengguna. |
|
-c |
Menampilkan file yang dibuka di kolom |
|
-d |
Menampilkan file yang dibuka yang mencakup deskriptor file tertentu. |
|
-i |
Menampilkan file terbuka yang cocok dengan kondisi tertentu. Opsi:
|
Output perintah
Contoh output lsof:
[ecs-user@hostname ~]$ lsof
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
Output information may be incomplete.
COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd unknown /proc/1/cwd (readlink: Permission denied)
systemd 1 root rtd unknown /proc/1/root (readlink: Permission denied)
systemd 1 root txt unknown /proc/1/exe (readlink: Permission denied)
systemd 1 root NOFD /proc/1/fd (opendir: Permission denied)
kthreadd 2 root cwd unknown /proc/2/cwd (readlink: Permission denied)
kthreadd 2 root rtd unknown /proc/2/root (readlink: Permission denied)
kthreadd 2 root txt unknown /proc/2/exe (readlink: Permission denied)
kthreadd 2 root NOFD /proc/2/fd (opendir: Permission denied)
rcu_gp 3 root cwd unknown /proc/3/cwd (readlink: Permission denied)
rcu_gp 3 root rtd unknown /proc/3/root (readlink: Permission denied)
rcu_gp 3 root txt unknown /proc/3/exe (readlink: Permission denied)
rcu_gp 3 root NOFD /proc/3/fd (opendir: Permission denied)
Bidang output:
|
Opsi |
Deskripsi |
|
COMMAND |
Nama perintah. |
|
PID |
ID proses. |
|
TID |
ID thread. Kosong menunjukkan proses. |
|
TASKCMD |
Nama tugas, biasanya sama dengan COMMAND. |
|
USER |
ID pengguna atau username login. |
|
FD |
Deskriptor file. |
|
TYPE |
Jenis node yang terkait dengan file. |
|
DEVICE |
Nomor perangkat. |
|
SIZE/OFF |
Ukuran file atau offset dalam byte. |
|
NODE |
Nomor node file. |
|
NAME |
Titik pemasangan dan nama sistem file. |
Contoh
-
Kueri file yang dibuka oleh proses tertentu:
sudo lsof -p 1Ganti
1dengan PID aktual. -
Kueri file yang dibuka oleh pengguna tertentu:
sudo lsof -u <user-name>Ganti
<user-name>dengan nama pengguna aktual. -
Kueri informasi proses yang membuka file tertentu:
sudo lsof <file-name>Ganti
<file-name>dengan nama file aktual. -
Kueri file terbuka untuk koneksi jaringan IPv4:
sudo lsof -i 4
netstat
Perintah
Perintah netstat menampilkan koneksi jaringan, tabel routing, serta statistik protokol.
Opsi umum
|
Opsi |
Deskripsi |
|
-t |
Hanya menampilkan opsi TCP. |
|
-u |
Hanya menampilkan opsi UDP. |
|
-i |
Menampilkan daftar antarmuka jaringan. |
|
-n |
Menampilkan alamat numerik alih-alih menyelesaikan ke hostname. |
|
-l |
Hanya menampilkan soket yang sedang mendengarkan. |
|
-p |
Menampilkan proses yang terkait dengan koneksi. |
|
-s |
Menampilkan statistik jaringan. |
Contoh
-
Kueri statistik jaringan untuk port 8000:
netstat -tunlp | grep 8000Ganti
8000dengan nomor port aktual. -
Kueri semua port TCP yang sedang mendengarkan beserta prosesnya:
netstat -ntlp
vmstat
Perintah
Perintah vmstat melaporkan statistik memori virtual, proses, dan CPU.
Opsi umum
Sintaks:
vmstat [-n] [delay [count]]
|
Opsi |
Deskripsi |
|
-n |
Hanya menampilkan header kolom sekali. |
|
[delay] |
Interval waktu antar pembaruan dalam detik. Tanpa opsi ini, hanya satu laporan yang dicetak. |
|
[count] |
Jumlah pembaruan. Tanpa opsi ini dan dengan [delay] ditentukan, vmstat berjalan tanpa henti. Tekan |
Contoh
Laporkan penggunaan CPU empat kali dengan interval 1 detik:
vmstat -n 1 4
Contoh output:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2684984 310452 2364304 0 0 5 17 19 35 4 2 94 0 0
0 0 0 2687504 310452 2362268 0 0 0 252 1942 4326 5 2 93 0 0
0 0 0 2687356 310460 2362252 0 0 0 68 1891 4449 3 2 95 0 0
0 0 0 2687252 310460 2362256 0 0 0 0 1906 4616 4 1 95 0 0
Bidang utama:
-
r: jumlah thread yang menunggu waktu CPU. Nilai yang lebih tinggi menunjukkan sistem lebih lambat.
-
us: persentase waktu CPU dalam mode pengguna. Nilai di atas 50% mengindikasikan perlunya optimasi program.
-
sy: waktu CPU dalam mode kernel.
-
wa: persentase waktu CPU yang dihabiskan menunggu operasi I/O. Nilai tinggi mungkin menandakan akses disk acak berlebihan atau bottleneck pada disk.
-
id: persentase waktu idle CPU. Jika nilai ini tetap 0 dan nilai sy dua kali lipat us, sistem mengalami kekurangan sumber daya CPU.
Informasi login pengguna
Catatan login pengguna disimpan dalam file berikut:
-
Informasi login pengguna dicatat dalam
/var/run/utmp,/var/log/wtmp,/var/log/btmp, dan/var/log/lastlog. -
Perintah
who,w, danusersmengkueri pengguna yang sedang login dari/var/run/utmp. -
Perintah
lastmengkueri pengguna yang sedang login beserta riwayat login dari/var/log/wtmp. -
Perintah
lastbmengkueri upaya login yang gagal dari/var/log/btmp. -
Perintah
lastlogmengkueri waktu login terakhir setiap pengguna dari/var/log/lastlog.
who
Perintah who mengkueri pengguna yang sedang login. Contoh output:
[root@xxx3Z ~]# who
root pts/0 2025-01-27 11:22 (1xxx4)
root pts/1 2025-01-27 11:29 (xxx)
w
Perintah w mengkueri pengguna yang sedang login beserta tugas aktif mereka. Contoh output:
[xxx ~]# w
11:30:45 up 2 days, 18:08, 2 users, load average: 0.04, 0.05, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 1xxx4 11:22 7:47 0.02s 0.02s -bash
root pts/1 xxx 11:29 6.00s 0.02s 0.00s w
users
Perintah users mengkueri nama pengguna yang sedang login. Contoh output:
[root@xxx ~]# users
root root
last
Perintah last mengkueri seluruh catatan login historis. Contoh output:
[root@xxx ~]# last
root pts/1 xxx Mon Jan 27 11:29 still logged in
root pts/1 xxx Mon Jan 27 11:29 - 11:29 (00:00)
root pts/0 xxx Mon Jan 27 11:22 still logged in
root pts/0 xxx Mon Jan 27 11:14 - 11:21 (00:07)
root pts/0 xxx Sun Jan 26 16:42 - 11:14 (18:31)
john pts/0 xxx Sun Jan 26 16:30 - 16:42 (00:11)
root pts/0 xxx Sun Jan 26 16:30 - 16:30 (00:00)
root pts/0 xxx Sun Jan 26 16:25 - 16:30 (00:04)
root pts/1 xxx Fri Jan 24 17:20 - 19:33 (02:13)
root pts/0 xxx Fri Jan 24 17:06 - 23:20 (06:14)
root pts/0 xxx Fri Jan 24 17:06 - 17:06 (00:00)
reboot system boot xxx Fri Jan 24 17:01 still running
lastb
Perintah lastb mengkueri upaya login yang gagal. Contoh output:
[r*** ~]# lastb
john ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root ssh:notty xxx '4 Mon Jan 27 11:33 - 11:33 (00:00)
root pts/0 Sun Jan 26 16:30 - 16:30 (00:00)
btmp begins Sun Jan 26 16:30:01 2025
lastlog
Perintah lastlog mengkueri waktu login terakhir setiap pengguna. Contoh output:
[rxxx ~]# lastlog
Username Port From Latest
root pts/1 8xxx xxx40 Mon Jan 27 11:29:34 +0800 2025
bin Never logged in
daemon Never logged in
adm Never logged in
lp Never logged in
sync Never logged in
shutdown Never logged in
halt Never logged in
mail Never logged in
operator Never logged in
games Never logged in
ftp Never logged in
nobody Never logged in
dbus Never logged in
systemd-coredump Never logged in
systemd-resolve Never logged in
tss Never logged in
polkitd Never logged in
unbound Never logged in
chrony Never logged in
sshd Never logged in
nscd Never logged in
postfix Never logged in
tcpdump Never logged in
rpc Never logged in
rpcuser Never logged in
squid Never logged in
ecs-instance-connect Never logged in
jack Never logged in
john pts/0 Mon Jan 27 11:21:25 +0800 2025
john1 Never logged in
cat /var/log/secure
Perintah cat /var/log/secure mengkueri seluruh catatan login pengguna. Contoh output:
[root@xxx 3Z ~]# cat /var/log/secure
Jan 26 11:18:17 i 3Z sshd[6646]: Accepted password for root from 1.xxx.xxx.xxx 6 port 2090 ssh2
Jan 26 11:18:17 i 3Z systemd[6652]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Jan 26 11:18:17 i 3Z sshd[6646]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 26 13:33:22 i 3Z sshd[6646]: pam_unix(sshd:session): session closed for user root
Jan 26 16:25:44 i 3Z useradd[6815]: new group: name=ecs-instance-connect, GID=992
Jan 26 16:25:44 i 3Z useradd[6815]: new user: name=ecs-instance-connect, UID=995, GID=992, home=/home/ecs-instance-connect, shell=/sbin/nologin
Jan 26 16:25:44 i 3Z sudo[6835]: root : PWD=/root ; USER=root ; COMMAND=/bin/systemctl daemon-reload
Jan 26 16:25:44 i 3Z systemd[6839]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
Jan 26 16:25:44 i 3Z sudo[6835]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 26 16:25:45 i 3Z sudo[6835]: pam_unix(sudo:session): session closed for user root
Jan 26 16:25:45 i 3Z sudo[6876]: root : PWD=/root ; USER=root ; COMMAND=/bin/systemctl restart sshd
Jan 26 16:25:45 i 3Z sudo[6876]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 26 16:25:45 i 3Z sshd[1055]: Received signal 15; terminating.
Jan 26 16:25:45 i 3Z sshd[6881]: Server listening on 0.0.0.0 port 22.
Jan 26 16:25:45 i 3Z sshd[6881]: Server listening on :: port 22.
Jan 26 16:25:45 i 3Z sudo[6876]: pam_unix(sudo:session): session closed for user root
Jan 26 16:25:48 i 3Z sshd[6886]: Accepted publickey for root from 1.xxx.xxx.xxx 74 port 2072 ssh2: ED25519 SHA256:xQdusPE/xxx jUd5qN0EU
Jan 26 16:25:48 i 3Z sshd[6886]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 26 16:26:01 i 3Z useradd[6962]: new group: name=jack, GID=1000
Jan 26 16:26:01 i 3Z useradd[6962]: new user: name=jack, UID=1000, GID=1000, home=/home/jack, shell=/bin/bash
Jan 26 16:26:38 i 3Z useradd[6971]: new group: name=john, GID=1001
Jan 26 16:26:38 i 3Z useradd[6971]: new user: name=john, UID=1001, GID=1001, home=/home/john, shell=/bin/bash
Jan 26 16:26:58 i 3Z passwd[6978]: pam_unix(passwd:chauthtok): password changed for john
Jan 26 16:27:43 i 3Z sudo[6984]: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/sbin/usermod -aG sudo john
Jan 26 16:27:43 i 3Z sudo[6984]: pam_unix(sudo:session): session opened for user root by root(uid=0)
Jan 26 16:27:43 i 3Z sudo[6984]: pam_unix(sudo:session): session closed for user root
Jan 26 16:29:01 i 3Z sudo[6992]: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/sbin/usermod -aG wheel john
Jan 26 16:29:01 i 3Z sudo[6992]: pam_unix(sudo:session): session opened for user root by root(uid=0)
Manajemen pengguna
Kelola pengguna sistem dan izin menggunakan perintah useradd, wheel, passwd, dan userdel.
useradd
Perintah
Perintah useradd digunakan untuk membuat pengguna. Verifikasi pembuatan pengguna dengan menjalankan cat /etc/passwd | grep username.
-
Memerlukan izin root atau sudo.
-
Tetapkan kata sandi untuk pengguna setelah akun dibuat.
-
Grup primer dan grup tambahan harus sudah ada sebelum membuat pengguna.
Opsi Umum
|
Opsi |
Deskripsi |
|
-d |
Direktori home. Default: |
|
-m |
Membuat direktori home. Gunakan dengan |
|
-s |
Shell login. Default: |
|
-g |
Grup primer. Grup tersebut harus ada. |
|
-G |
Grup tambahan. Pisahkan beberapa grup dengan koma (,). |
|
-p |
Kata sandi terenkripsi. Contoh:
|
|
-u |
ID pengguna numerik. |
|
-e |
Tanggal kedaluwarsa akun dalam format YYYY-MM-DD. |
Contoh
-
Buat pengguna
jackdengan direktori home dan shell kustom.useradd -m -d /home/jack -s /bin/bash jackVerifikasi pengguna dengan menjalankan
cat /etc/passwd | grep jack:jack:x:1000:1000::/home/jack:/bin/bashTetapkan kata sandi untuk pengguna:
passwd jack -
Buat pengguna
alicedalam grup tambahandevelopers.useradd -m -G developers alice -
Buat pengguna
bobdengan ID pengguna 1001.useradd -m -u 1001 bob -
Buat pengguna dengan izin root:
PentingBerikan izin root hanya jika diperlukan.
-
Buat pengguna
john.useradd john -
Tetapkan kata sandi.
passwd john -
Tambahkan pengguna ke grup
wheeluntuk memberikan izin sudo. Verifikasi keanggotaan dengan menjalankangrep '^wheel:' /etc/group.sudo usermod -aG wheel john -
Uji izin sudo. Beralih ke pengguna baru dan jalankan perintah
sudo.su - john sudo ls /rootJika diminta memasukkan kata sandi dan konten direktori
/rootditampilkan, berarti pengguna memiliki izin sudo dan dapat digunakan untuk login jarak jauh. -
(Opsional) Edit file sudoers untuk menambahkan izin spesifik.
sudo visudo
-
userdel
Perintah
Perintah userdel digunakan untuk menghapus pengguna.
Opsi Umum
|
Opsi |
Deskripsi |
|
-r |
Menghapus direktori home dan file-file di dalamnya. |
|
-f |
Menghapus pengguna secara paksa meskipun sedang login. |
Contoh
-
Hapus pengguna
john.Beralih ke root dan periksa direktori home dengan
cat /etc/passwd | grep john:john:x:1001:1001::/home/john:/bin/bashHapus pengguna
johntetapi pertahankan direktori home:userdel john -
Hapus pengguna
johnbeserta direktori home dan semua file di dalamnya.userdel -r username -
Hapus pengguna secara paksa.
userdel -f username
wheel
Perintah
wheel adalah grup pengguna yang mengontrol akses ke perintah su untuk beralih ke root.
-
Grup
wheeltersedia secara default. Jika tidak ada, buat dengansudo groupadd wheel. -
Secara default, semua pengguna dapat menjalankan su dan memasukkan kata sandi root untuk beralih ke akun root.
-
Untuk membatasi akses root, konfigurasikan grup wheel sehingga hanya anggotanya yang dapat menggunakan su untuk beralih ke root.
Contoh
-
Periksa apakah pengguna termasuk dalam grup wheel.
groups username -
Tambahkan pengguna ke grup wheel.
sudo usermod -aG wheel usernameJalankan visudo untuk mengedit
/etc/sudoers. Baris%wheel ALL=(ALL) ALLmemungkinkan anggota grupwheelmenggunakansudountuk semua perintah.Untuk mengizinkan penggunaan sudo tanpa kata sandi bagi anggota grup wheel, ubah baris tersebut menjadi:
%wheel ALL=(ALL) NOPASSWD: ALL