GNU/Linux >> Belajar Linux >  >> Linux

18 Contoh perintah 'lsof' cepat untuk Linux Geeks

lsof adalah utilitas baris perintah untuk semua sistem operasi seperti Unix dan Linux untuk memeriksa “daftar file yang terbuka Nama "lsof" sendiri berasal dari fungsi ini. Perintah lsof terutama digunakan untuk mengambil informasi tentang file yang dibuka oleh berbagai proses. File terbuka dalam suatu sistem dapat dari jenis yang berbeda seperti file disk, soket jaringan, pipa bernama dan perangkat. Fitur khusus ini memungkinkan seseorang untuk men-debug dan memahami Sistem Operasi Linux dengan cara yang lebih baik.

Saat kita melakukan instalasi minimal CentOS / RHEL / Ubuntu / OpenSUSE , lsof bukan bagian dari instalasi default, jadi gunakan perintah berikut untuk menginstal perintah atau utilitas lsof

Untuk Sistem CentOS / RHEL,

~] # yum install lsof -y

Sistem Berbasis Debian (Ubuntu / Linux Mint)

~] # apt install lsof -y

Untuk Sistem OpenSUSE,

~] # zypper install lsof

Perintah "lsof" dilengkapi dengan banyak opsi dan sakelar. Akan sangat menarik untuk mengeksplorasi beberapa dari yang penting ini. Pada artikel ini kita akan membahas 18 contoh perintah lsof yang berguna untuk para geeks Linux.

Contoh:1) Daftar semua file yang terbuka dari sistem Anda (lsof)

Menjalankan perintah lsof tanpa opsi apa pun akan mencantumkan semua file terbuka di sistem Anda yang termasuk dalam semua proses aktif.

Hanya mengetik perintah “lsof” tanpa opsi apa pun di baris perintah memberikan output berikut,

Catatan :- Karena output lsof memberikan banyak informasi ke STDOUT, akan lebih baik menggunakan pipa “|” operasi untuk melihat halaman keluaran ini demi halaman.

[[dilindungi email] ~]# lsof | MORECOMMAND PID PENGGUNA PENGGUNA FD UKURAN PERANGKAT/MATI NODE NODE NAMESTEMD 1 ROOK CWD DIR 253,0 4096 128/Systemd 1 Root RTD Dir 253,0 4096 128/Systemd 1 Root TXT Reg 253,0 148960 50674818/USR/LIB/LIB/SYSTEMD/ SystemdSystemd 1 root memang reg 253,0 20032 33628284 /usr/lib64/libuuid.so.1.3.0systemd 1 root mem reg 

Output perintah di atas jika Anda memeriksa dengan cermat memberikan banyak informasi dengan banyak parameter. Misalnya, proses “systemd ” (yang merupakan proses daemon) memiliki ID Proses (PID ) dari “1”, Pengguna adalah “root “, File Deskriptor (FD ) sebagai “cwd ” dan lain-lain. FD muncul dengan banyak nilai, seperti yang diketahui bahwa File Descriptor dibuat untuk setiap file yang terbuka secara otomatis di Sistem Linux. Di bawah ini adalah beberapa nilai “FD” terkenal yang digunakan untuk perintah lsof,

Catatan :Dalam beberapa kasus, "mem" diikuti oleh angka dan berbagai karakter seperti "r", "u", "w" dll. Karakter ini adalah "r" untuk membaca, "w" untuk menulis, "u" untuk membaca dan menulis.

Terakhir, "JENIS ” pada output perintah menunjukkan jenis file. Berikut ini adalah jenis file standar dalam sistem Linux.

Bidang lain yang ditampilkan bersama dengan ini adalah sebagai berikut,

  • PERANGKAT –> Id perangkat
  • UKURAN/MATI –> Ukuran sebenarnya dari proses ini (diambil selama run time)
  • TIDAK -> Biasanya nomor inode direktori atau direktori induk
  • NAMA –> Jalur atau tautan

Contoh:2) Daftar file yang terbuka dari sistem file tertentu (/proc)

Seperti yang Anda ketahui, “/proc ” hanya akan ada selama masa hidup OS Linux, direktori ini berisi banyak informasi penting terkait proses. Mengeksekusi “lsof” pada /proc akan memberikan output yang menarik untuk kita jelajahi,

[[email protected] ~]# lsof /procCOMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF       NODE NODEsystemd     1 root    9r   REG    0,3        0       6690 /     mountinfo /swapssystemd-j 462 root 10r reg 0,3 0 6936/proc/sys/kernel/hostnamelsof 5186 root 3r dir 0,3 0 1/proclsof 5186 root 6r dir 0,3 0 28890/proc/5186/fd [ dilindungi] ~]#

Seperti disebutkan sebelumnya, "lsof" dari "lsof" itu sendiri ditangkap di sini dan semua detailnya ditampilkan. Selain "lsof" ada proses lain seperti systemd dan rsyslogd yang merupakan daemon yang digunakan untuk tujuan swap, pemasangan, dll.

Demikian pula, kita dapat membuat daftar file yang terbuka dari sistem file lain seperti /var/log,

[[email protected] ~]# lsof /var/log/

Perintah lsof menjadi sangat berguna dalam situasi di mana perintah df dan du menunjukkan penggunaan disk yang berbeda dari sistem file yang sama, dengan menggunakan perintah lsof kita dapat menemukan file yang dihapus saat dibuka dan digunakan oleh beberapa proses,

[[dilindungi email] ~]# lsof /var/log | grep -i "dihapus"

Perintah di atas akan memberi Anda pid file yang telah dihapus tetapi masih ada di sistem dalam keadaan terhapus. Jadi, untuk melepaskan ruang dari sistem file, kita dapat dengan aman mematikan proses dengan pid-nya.

Contoh:3) Daftar file yang terbuka untuk perintah “lsof”

“lsof” sendiri memunculkan pesan kesalahan,

[[email protected] ~]# lsof lsoflsof:status error pada lsof:Tidak ada file atau direktori seperti itu lsof 4.87

Contoh:4) Daftar file yang terbuka untuk pengguna (lsof -u )

“lsof” dapat digunakan untuk semua pengguna yang telah login ke Sistem Linux. Dalam hal ini “lsof” akan menampilkan semua file yang dibuka untuk masing-masing pengguna.

Mencantumkan semua file yang terbuka untuk pengguna root

[[email protected] ~]# lsof -u root | MORECOMMAND PID Pengguna FD Ukuran Perangkat/Off Node NodeSystemd 1 Root CWD Dir 253,0 4096 128/Systemd 1 Root Rtd Dir 253,0 4096 128/Systemd 1 Root TXT Reg 253,0 1620416 51034677/usr/lib/systemd/systemdsystemd 1 root memang reg 253,0 20032 33628284 /usr/lib64/libuuid.so.1.3.0systemd 1 root memang 253,0 252704 33745961 /usr/lib64/libblkid.so.1.1.0systemd 1 root memm. 33628275 /usr/lib64/libz.so.1.2.7systemd      1 root mem      REG            253,0    153192   33618596 /usr/lib64/liblzma.so.5.0.99systemd          mem so.1.1.0………………………………………………………

Daftar file yang terbuka untuk pengguna non-root, mari kita lihat semua file yang terbuka untuk pengguna linuxtechi,

[[email protected] ~]# lsof -u linuxtechi  | moreOr[[email protected] ~]# lsof -l -u linuxtechi | lebih banyak
Pengguna PID Tipe FD Ukuran Perangkat /Mati Node Namesshd 2657 Linuxtechi CWD Dir 253,0 4096 128 /SSHD 2657 Linuxtechi Rtd 253,0 4096 128 /SSHD 2657 Linuxtechi TX Reg 253,0 815520 34698898989840 /USBIN /SXBIN TX 253,0 815520 34698898988989889898989898989898989840 /USBIN /USBIN /USBIN 253.0 815520 3469120 34691203 SSHDSSHD 2657 Linuxtechi del Reg 0,4 23850/dev/Zerosshd 2657 Linuxtechi memang 253,0 15472 33831639 /usr/lib64/security/pam_lastlog.sosshd 2657 linuxtechi memm 253,0 68362. 1.0.6SSHD 2657 Linuxtechi memm Reg 253,0 153192 33618596 /usr/lib64/liblzma.so.5.0.99sshd 2657 Linuxtechi memm 253.0.1496 33628319 /usr/lib64/0.1496 33628319 /usr/lib64/064.1496 33628319 /usr/LIB64/064.1496 33628319 /usr/LIB64/064.1496 33628319 /usr/LIB64/0.1496 33628319 /usr/LIB64/0.1496 33628319/USR/LIB64/014.1496/USRLIB6.143 ,0     14608 33618582 /usr/lib64/libutil-2.17.sosftp-serv 2661 linuxtechi  mem    REG            253,0     61856 33863972 /usr/lib64/liblber-2.4.so.2.10.3sftp-serv 2661 linuxtechi  mem    REG            253,0    344224 33863974 /usr/lib64/libldap-2.4.so.2.10.3sftp      2     teknologi linux 33618298 /usr/lib64/libdl-2.17.sosftp-serv 2661 linuxtechi  mem    REG             253,0   2516624 33657314 /usr/lib64/libcrypto.so.1.0.2ksftp-serv 2661 linuxtechi  2544, 33   REG LD-2.17.SOSFTP-SERV 2661 LINUXTECHI 0R FIFO 0,8 0T0 24046 PIPESFTP-SERV 2661 LINUXTECHI 1W FIFO 0,8 0T0 24047 PIPESFTP-SERV 2661 LINUXTECHI 2W FIFO 0,8 0T0 24048 PIPA 267.2WD 2W COFO 2W FIFO 0,8 0T0 24048 PIBABAL 2. /home/linuxtechi………………………………………………………………………

Untuk Mendaftar semua file yang terbuka kecuali pengguna root, gunakan ^(simbol tanda sisipan) di depan pengguna root ( lsof -u ^root),

[[email protected] ~]# lsof -u ^root | MORECOMMAND PID PENGGUNA PENGGUNA FD UKURAN PERANGKAT /OFF NODE NAMEKBUS-DAEM 1662 DBUS CWD DIR 253,0 4096 128 /DBUS-DAEM 1662 DBUS RTD DIR 253,0 4096 128 /DBUS-DAEM 1662 DBUS TXT 253,0 441176 171 171 /DBUS 1662 /REG 253,0 441176 17171 /DBUS 1662 / USR/bin/dbus-daemondbus-daem 1662 dbus memm 253,0 57824 33618566 /usr/lib64/libnss_files-2.17.sodbus-daem 1662 dbus reg 253,0 19512 336181818298/UUSR64/us. daem 1662           dbus  mem      REG            253,0    398272 33628261 /usr/lib64/libpcre.so.1.2.0dbus-daem 1662                dbus     . …………………………………………………………………………………………

Contoh:5) Daftar semua file domain Internet dan UNIX yang terbuka (lsof -i -U)

Gunakan opsi “-i -U” dalam perintah lsof untuk mendaftar semua file domain internet dan UNIX yang terbuka di sistem Anda, contoh ditunjukkan di bawah ini

[[Email Dilindungi] ~]# lsof -i -i -command pengguna PID Ukuran perangkat FD/OFF Node namesystemd 1 root 12u unix 0xffff8800b8baab40 0t0 11075/run/systemd/cgroups -agentsystemd 1 root 13u unix 0xFFFFFFFFFFFF888888800B27.AgentSyStemd 1 Root 13U unix 0xFFFFFFFFFFFFFF888880B8.AGENSYSYSTEMD 1 ROOT 13U UNIX 0XFFFFFFFFFFFF88888880B80B27.11077777777777777777777777777777777777777777 / systemd / privatesystemd 1 akar 42U IPv4 16.576 0T0 TCP *:sunrpc (DENGARKAN) systemd 1 akar 43u IPv4 16.577 0T0 UDP *:sunrpcrpcbind 1633 rpc 3u unix 0xffff8800bab8cf00 0T0 16.574 /var/run/rpcbind.sockrpcbind 1633 rpc 4u IPv4 16.576 0T0 TCP Sunrpc (Listen) RPCBind 1633 RPC 5U IPv4 16577 0T0 UDP *:SunRPCRPCBIND 1633 RPC 6U IPV6 16578 0T0 TCP *:SUNRPC (LENT) RPCBIND 1633 RPC 7U IPv6 1657 960sshd      2532     Root 3U IPv4 21120 0T0 TCP 192.168.1.6:ssh->192.168.1.5:65110 (Didirikan) SSHD 2532 Root 4U UNIX 0XFFFFF88888888888880B60B60B60B60B688888880BEGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF. IPv4             21191      0t0   TCP 192.168.1.6:ssh->192.168.1.5:65112 (ESTABLISHED)sshd      2536      root    4u  unix 0xff………ff8800b8afd2c0      root    4u  unix 0xff………ff8800b8afd2c0…  1363 … ……… ………………………………………………………

Contoh:6) Daftar semua file jaringan IPv4 yang terbuka (lsof -i 4)

Gunakan opsi “-i -4” dalam perintah lsof untuk membuat daftar semua file jaringan terbuka untuk IPv4,

[[email protected] ~]# lsof -i 4COMMAND   PID      PENGGUNA   FD   TYPE DEVICE SIZE/OFF NODE NAMEsystemd     1      root   42u  IPv4  16577      0t0  TCP                          16                                                                                                                                                                             RPC 4U IPv4 16576 0T0 TCP *:SunRPC (Listen) SSHD 2258 ROOT 3U IPv4 19493 0T0 TCP *:SSH (Listen) Master 2360 ROOT 13U IPV4 20087 0T0 TCP LOCALHOST:SMTP (Listen) DhClient 2494 ROOT 6U IPV4. BOOTPCDHCLIENT 2494 ROOT 20U IPV4 20951 0T0 UDP *:24884DHCLIENT 2514 ROOT 6U IPV4 20866 0T0 UDP *:BOOTPCSSHD 2532 ROOT 3U IPV4 21120 0T0 TCP 192.168.1.6:SSH-SSH-SSH-> 29.19.19.19.19.19.19.19.19.19.19.19.19.19.19.19.19.19.19.19.192 TCP 192.168.1.6:ssh->192.168.1.5:65112 (ESTABLISHED)sshd     2621      root    3u  IPv4  23506     0t0  TCP 192.168.1.6:ssh->192.168.1.9:65422 (ESTABLISHED)sshd     root    3u  IPv4  23863      0t0  TCP 192.168.1.6:ssh->192.168.1.9:49992 (ESTABLISHED)sshd     2657 linuxtechi    3u  IPv4  23795      0t0  TCP 192.168.1.6:ssh1.9->192.168.4 0t0  TCP 192.168.1.6:ssh->192.168.1.9:49992 (DIDIRIKAN)[[dilindungi email] ~]#

Untuk membuat daftar semua file jaringan IPv4 terbuka yang digunakan oleh proses tertentu yang id prosesnya “nomor_apapun”, contohnya ditunjukkan di bawah

Mari kita asumsikan kita ingin membuat daftar semua file jaringan IPv4 untuk proses rpcbind

Sintaks : # lsof i 4 -a -p {process_pid}

[[email protected] ~]# lsof -i 4 -a  -p 1633COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAMErpcbind 1633  rpc    4u  IPv4  16576      0t0  TCP *:sunrpc   33 165c   STEN) UDP *:sunrpcrpcbind 1633  rpc   10u  IPv4  16649      0t0  UDP *:960[[email protected] ~]#

Contoh:7) Daftar semua file jaringan terbuka untuk IPv6 (lsof -i 6)

Dengan asumsi domain ipv6 didukung, output dari lsof akan menjadi seperti di bawah ini,

[[email protected] ~]# lsof -i 6COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NODEsystemd     1   root   44u  IPv6  16578     0t0  TCP *:sunrpc (LISTEN)systemd   RPC 6U IPv6 16578 0T0 TCP *:SunRPC (Listen) RPCBind 1633 RPC 7U IPv6 16579 0T0 UDP *:SunrpcrpcBind 1633 RPC 11U IPv6 16650 0T0 UDP *:960SSHD 2258 ROOTSH6 IPV6 16650 0T0 UDP *:960SSHD 2258 ROOTSH6 IPv6 1650 0T0 UDP *:960SSHD 2258 ROOKSSHAN 4U *1950.550 0T044044.10.10.11044.10.11040.10.110 LaMTP (Listen) DhClient 2494 Root 21U IPv6 20952 0T0 UDP *:16498DHClient 2514 Root 21U IPv6 20823 0T0 UDP *:34955HTPD 2594 ROOT 4U IPV6 22730730303030 0t0  TCP *:http (LISTEN)httpd    2596 apache    4u  IPv6  22703      0t0  TCP *:http (LISTEN)httpd    2597 apache    4u  IPv6  22703     0t0  TCP *:http (LISTEN)httpd   03      0t0  TCP *:http (DENGARKAN)httpd    2599 apache    4u  IPv6  22703      0t0  TCP *:http (DENGARKAN)[[email protected] ~]#

Contoh:8) Daftar semua proses TCP &UDP yang berjalan pada port tertentu (lsof -i TCP/UDP:port)

Mari kita asumsikan kita ingin membuat daftar semua proses TCP yang berjalan pada port 80, gunakan perintah di bawah ini

[[email protected] ~]# lsof -i TCP:80COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAMAhttpd   2594   root    4u  IPv6  22703     0t0  TCP *:http (DENGARKAN) httpd    2595     25 www IPv6  22703      0t0  TCP *:http (DENGARKAN)[[email protected] ~]#

Untuk membuat daftar semua file yang terbuka pada port TCP dari rentang port (1 hingga 1048), gunakan perintah berikut

[[email protected] ~]# lsof -i TCP:1-1048COMMAND  PID       PENGGUNA   FD   TYPE DEVICE SIZE/OFF NODE NAMEsystemd    1      root   41u  IPv4  16863      0t0   *:sunrpc IPv4   *:sunrpc IPv4 *:SunRPC (Listen) RPCBind 1663 RPC 4U IPv4 16863 0T0 TCP *:SunRPC (Listen) RPCBind 1663 RPC 6U IPv6 16865 0T0 TCP *:Sunrpc (Listen) SSHD 2294 ROOT 3U IPv4 19949 TCP *:SUNRPC (Listen) SSHD 2294 ROOT 3U IPv4 19949 ROOT 4U IPv6 19965 0T0 TCP *:SSH (Listen) Master 2433 ROOT 13U IPv4 21026 0T0 TCP LOCALHOST:SMTP (Listen) Master 2433 Root 14U IPv6 21027 0T0 TCP Localhost:SMTP (Listen) SSHD 2600 ROOT 3U IPV4 217. 1.3:ssh->192.168.1.9:52393 (ESTABLISHED)sshd    2659      root    3u  IPv4  22056     0t0  TCP 192.168.1.3:ssh->192.168.1.9:52486 (ESTABLISHED)sshd         22        2663    >192.168.1.9 :52489 (mapan) httpd 2837 root 4u ipv6 26112 0t0 tcp *:http (dengarkan) httpd 2838 apache 4u ipv6 26112 0t0 tcp *:http (dengarkan) httpd 2839 Apache 4u ipv6 26112 0tp (Listen) httpd 2839 Apache 4u IPv6 26112 0tp (Listen):Httpd 2839 Apache 4U IPv6 26112 0TACH0:HTTPD 2839 APACHE 4U 26112 0TACH (LENTPD (HTTPD 2839 HTTPD (HTTPD 2839 HTTPD 2839 IPV6 26112 4U IPv6 26112 0T0 TCP *:http (dengarkan) httpd 2841 Apache 4u ipv6 26112 0t0 tcp *:http (dengarkan) httpd 2842 Apache 4u ipv6 26112 0T0 TCP *:http (Listen) SSHD 289.1612 2682 TCP *:HTTP (Listen) SSHD 2891.181.182 0 :ssh->192.168.1.9:53541 (DESTABLISHED)sshd    2895 linuxtechi    3u  IPv4  26896      0t0  TCP 192.168.1.3:ssh->192.168.1.9:53541 (ESTABLISHED)[[email protected] ~]#

Untuk Mendaftar semua proses UDP yang berjalan pada port tertentu, gunakan perintah di bawah ini

[[email protected] ~]# lsof -i UDP:16498COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEdhclient 2494 root   21u  IPv6  20952      0t0  UDP *:16498[[email protected] ~]# 

Catatan :Untuk membuat daftar semua proses UDP yang terbuka di sistem linux Anda, gunakan perintah “lsof -i UDP

Contoh:9) Daftar semua file yang terbuka untuk perangkat tertentu (lsof )

Perintah berikut dapat digunakan untuk membuat daftar semua file yang terbuka di /dev/vda1.

Catatan: Dalam hal ini jenis perangkat adalah virtual, secara umum dapat berupa jenis /dev/hd/ sd{number}

[email protected] ~]# lsof  /dev/vda1 | MORECOMMAND PID Pengguna FD Tipe Ukuran Perangkat /OFF Node NameSystemd 1 Root CWD Dir 253,1 4096 2 /Systemd 1 Root RTD Dir 253,1 4096 2 /Systemd 1 Root TXT Reg 253,1 1577264 262271 /lib /SystemD /SystemDDSDSTEMD 1 Root Root mem    REG  253,1    18976  262252 /lib/x86_64-linux-gnu/libuuid.so.1.3.0systemd     1       root mem    REG  253,1   262408  262245 /lib/x86_64-linux -gnu/libblki -gnu/libblki mem    REG  253,1    14608  266364 /lib/x86_64-linux-gnu/libdl-2.23.sosystemd      1      root  mem    REG  253,1   456632  262207 /lib/x86_64-linux-       root  mem    REG  253,1   456632  262207 /lib/x86_64-linux-g    3.2 system re. 253,1  1868984  266362 /lib/x86_64-linux-gnu/libc-2.23.sosystemd      1      root mem    REG  253,1   138696  266361 /lib/x86_64-linux-gnu/libpthread-2.23       2568      261756 /lib/x86_64-linux-gnu/libmount.so.1.1.0

Contoh:10) Daftar proses dengan file yang terbuka pada sistem file NFS

Ada beberapa situasi di mana Anda telah memasang sistem file nfs di kotak linux Anda tetapi server nfs tidak dapat diakses dan ingin membuat daftar semua proses dengan file yang terbuka pada sistem file nfs itu,

[[email protected] ~]# lsof -b 

Contoh:11) Daftar file terbuka terkait terminal (lsof /dev/tty{number})

Perintah berikut digunakan untuk semua file yang terbuka di /dev/tty1.

Catatan :Dalam hal ini tipe terminal adalah “tty1”. Jenis terminal lainnya juga dapat digunakan seperti /dev/tty

[[email protected] ~]# lsof /dev/tty1COMMAND  PID PENGGUNA   FD   TYPE DEVICE SIZE/OFF NODE NAMEbash    2442 root    0u   CHR    4,1    HR 0t0 4689 /dev/tty1bash    2442 root    0u   CHR    4,1    HR 0t0 4689 /dev/tty1bash    0    2442 /tty1bash    2442 root    2u   CHR    4,1      0t0 4689 /dev/tty1bash    2442 root  255u   CHR    4,1     0t0 4689 /dev/tty1[[email protected] ~]#

Contoh:12) Daftar PID, Nama Perintah, Deskriptor File, Nomor Perangkat &Nomor Inode File (lsof -FpcfDi)

Salah satu opsi yang menarik di "lsof" untuk mendapatkan output bidang PID(P) dan nama perintah(c) untuk setiap proses, deskriptor file (f), nomor perangkat file (D), dan nomor inode file (i) untuk setiap file dari setiap proses, contoh ditunjukkan di bawah ini

[[email protected] ~]# lsof -FpcfDi | morep1csystemdfcwdD0xfd00i128frtdD0xfd00i128ftxtD0xfd00i51034677fmemD0xfd00i33628284………………

Catatan: Daftar panjang keluaran ditampilkan, tetapi ini dipotong pendek untuk menghemat ruang.

Contoh:13) Daftar semua koneksi jaringan (lsof -i)

Gunakan opsi “-i” dalam perintah lsof untuk mendaftar semua proses atau perintah terkait jaringan, contoh ditunjukkan di bawah ini,

[[email dilindungi] ~]# lsof -iCommand pengguna pid fd tipe ukuran perangkat/off node namesystemd 1 root 41u ipv4 16863 0t0 tcp *:sunrpc (listen) systemd 1 root 43u ipv4 16864 0t0 udp *:sunrpccccck 166u ipv4 16864 0t0 udp *:sunrpccccck 166u ipv4 16864 0t0 udp *:sunrpcrpcccck 166u ipv4 16864 0t0 udp *:sunrpccccck 166u ipv4 16864 0t0 udp *:sunrpccccck 166u ipv4 16864 0t0 udp *:sunrpccccck 16 4U IPv4 16863 0T0 TCP *:SunRPC (Listen) RPCBind 1663 RPC 5U IPv4 16864 0T0 UDP *:SunrpcrpcBind 1663 RPC 11u IPv6 17051 0T0 UDP *:988SSHD 2294 ROOK 3 IPV6 0T0 TOP6 0T0 UDP *:988SSHD 2294 ROOTSH6 IPV6 0T0 TOP0 TOP0 TOP0 TOP6 *TOP0 TOP6:988SSHD 2294 ROOKSH6 IPV6 0T0 TOP0 TOP0 TOP0 TOP6:988SSHD 2294 ROOKSSH6 IPV6 IPV6 0T0 THOR0 UDP *:988SSHD 2294 ROOTSH6 IPv6 19965      0t0  TCP *:ssh (DENGARKAN)rpc.statd 2300    rpcuser   10u  IPv6  19974      0t0  UDP *:48486rpc.statd 2300   rpcuser  11u  IPv6  20045       0t0  DP 393     330t0 p0 .mount 2311       root    8u  IPv4  19911      0t0  TCP *:mountd (LISTEN)master    2433      root   13u  IPv4  21026     0t0  TCP localhost:smtp (LISTEN)master     2433  1027 0T0 TCP LocalHost:SMTP (Listen) DhClient 2563 Root 6U IPv4 21589 0T0 UDP *:BOOTPCDHCLIENT 2583 ROOT 21U IPv6 21365 0T0 UDP *:1036.16.18.16.18.18.18.18.19.19.19.19.19.19.19.1. ESTABLISHED)sshd      2659       root    3u  IPv4  22056      0t0  TCP 192.168.1.3:ssh->192.168.1.9:52486 (ESTABLISHED)[[email protected] ~]#

Contoh:14) Temukan file Socket IPv4 /IPv6

Untuk menemukan file soket IPv4 gunakan perintah di bawah ini, ganti alamat IP dengan IP sistem Anda

[[email protected] ~]# lsof [email protected]COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEsshd    2600      root    3u  IPv4  21737    1.968.13.68sshd0t0  TCP 2659       root    3u  IPv4  22056      0t0  TCP 192.168.1.3:ssh->192.168.1.9:52486 (ESTABLISHED)sshd    2663      root      root    3u  IPv4  22123     0t0  TCP 192.168. 25004      0t0  TCP 192.168.1.3:ssh->192.168.1.9:52848 (ESTABLISHED)sshd    2728 linuxtechi    3u  IPv4  25004      0t0  TCP 192.168.1.3:ssh->192.168.1.9:52848 (ESTABLISHED)[[email] /pra> 

Untuk menemukan file soket IP versi 6 dengan alamat bentuk titik dua numerik terkait yang memiliki angka nol di dalamnya – mis., alamat loop-back (127.0.0.1) gunakan perintah dan opsi di bawah ini:

[[email protected] ~]# lsof [email protected][::1]COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEmaster  2433 root   14u  IPv6  21027      0t0  TCP localhost:smtp (DENGARKAN dilindungi)[[email protected] ~]#

Contoh:15) Daftar semua Proses atau Perintah yang dimiliki oleh ID Proses (lsof -p )

Mari kita asumsikan kita ingin membuat daftar semua proses atau perintah yang dimiliki oleh id proses tertentu, Contoh ditunjukkan di bawah ini

[[email protected] ~]# lsof -p 2842 | moreCOMMAND PID PENGGUNA FD JENIS PERANGKAT UKURAN / OFF NODE NAMEhttpd 2842 apache cwd DIR 253,0 4096 128 / httpd 2842 apache RTD DIR 253,0 4096 128 / httpd 2842 apache txt REG 253,0 523.680 34.641.136 / usr / sbin / httpdhttpd 2842 apache MEM Reg 253,0 110808 33618576 /usr/lib64/libresolv-2.17.sohttpd 2842 apache mem 253,0 27512 33618564 /usr/lib64/libnss_dns-2.17.sohttpe646/u23646/naPe62 libnss_files-2.17.sohttpd   2842 apache  mem       REG            253,0    27808 17080385 /usr/lib64/httpd/modules/mod_cgi.sohttpd   2842 apache  mem       83  . ………………………………………

Contoh:16) Matikan semua proses milik pengguna tertentu

Perintah lsof menjadi sangat berguna di mana kita ingin mematikan semua proses milik pengguna tertentu, contoh di bawah ini akan mematikan semua proses milik pengguna linuxtechi

[[email protected] ~]# kill -9 `lsof -t -u linuxtechi`[[email protected] ~]#

Contoh:17) Daftar semua file yang terbuka di bawah direktori tertentu (lsod +D )

Mari kita asumsikan kita ingin membuat daftar semua file yang terbuka di bawah direktori /var/log, kemudian gunakan perintah lsof berikut,

[[email protected] ~]# lsof +D /var/log/COMMAND    PID   PENGGUNA   FD   TYPE DEVICE SIZE/OFF     NODE NAMAauditd    1635   root    4w   REG  253,0  1177238 51031316/audit.logw root    3w   REG  253,0      240   392280 /var/log/wpa_supplicant.logtuned     2295   root    3w   REG  253,0    6000 17713597 /var/log/tuned/tuned.logrsyslog 118   2296 2296   root    7w   REG  253,0   449328   338975 /var/log/messagesrsyslogd  2296   root    8w   REG  253,0    26038   338976 /var/log/securersyslogd  2296   root     9wlogs     9wlogs ,0     9458      138 /var/log/boot.loghttpd     2837   root    2w   REG  253,0     2829 34768157 /var/log/httpd/error_loghttpd     2837   root    7w   REG   16 / log     38 253,0     2829 34768157 /var/log/httpd/error_loghttpd     2838 ap ache    7w   REG  253,0        0 34824416 /var/log/httpd/access_loghttpd     2839 apache    2w   REG  253,0     2829 34768157 /var/log/httpd/error_loghttpd     34_16  log/access   2844 httpd 2840 apache    2w   REG  253,0     2829 34768157 /var/log/httpd/error_loghttpd     2840 apache    7w   REG  253,0        0 34824416 /var/log/httpd/access_loghttpd     2841 apache    2w   REG  253,0     2829 34768157 /var/log/httpd/ error_loghttpd     2841 apache    7w   REG  253,0        0 34824416 /var/log/httpd/access_loghttpd     2842 apache    2w   REG  253,0     2829 34768157 /var/log/httpd/error_loghttpd     2842 apache    7w   REG  253,0        0 34824416 /var/log/httpd /access_log[[email protected] ~]#

Catatan: In above command if we use +D option then lsof will list all open files of a directory recursively and if you don’t want to list open files of directory recursively then use “+d” option

Example:18) “lsof” to check who opened the log file (to find PID)

The following command option is used to find who opened the /var/log/httpd/access.log file and what is the PID of that process. And then with “ps -ef” command we can find exact user

[[email protected] ~]# lsof -t /var/log/httpd/access_log310931103111311231133114[[email protected] ~]#[[email protected] ~]# ps -ef | grep -E "3109|3110|3111|3112|3113|3114" | grep -v grepor[[email protected] ~]# ps -fp "$(lsof -t /var/log/httpd/access_log | xargs echo)"root      3109     1  0 03:36 ?        00:00:00 /usr/sbin/httpd -DFOREGROUNDapache    3110  3109  0 03:36 ?        00:00:00 /usr/sbin/httpd -DFOREGROUNDapache    3111  3109  0 03:36 ?        00:00:00 /usr/sbin/httpd -DFOREGROUNDapache    3112  3109  0 03:36 ?        00:00:00 /usr/sbin/httpd -DFOREGROUNDapache    3113  3109  0 03:36 ?        00:00:00 /usr/sbin/httpd -DFOREGROUNDapache    3114  3109  0 03:36 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND[[email protected] ~]#

Many options of the “lsof” command can be combined for multiple purposes as below are some combination of flags “-c”, “-u” and “-I”. For more details refer the manual page.

Baca Juga :11 Xargs Command Examples in Linux

The below command combination will give output every 1 second about “linuxtechi” home directory what all the files opened repeatedly.

[email protected] ~}# lsof -u linuxtechi -c init -a -r1=======COMMAND   PID       USER   FD   TYPE DEVICE SIZE/OFF    NODE NAMEinita.sh 2971 linuxtechi  cwd    DIR    8,1     4096  393218 /home/linuxtechiinita.sh 2971 linuxtechi  rtd    DIR    8,1     4096       2 /inita.sh 2971 linuxtechi  txt    REG    8,1    83344  524367 /bin/dashinita.sh 2971 linuxtechi  mem    REG    8,1  1434567 1443695 /lib/i386-linux-gnu/libc-2.13.so……………………………………………………………………………

Kesimpulan:

As mentioned in the introduction section “lsof” is very powerful and useful command in Linux based distributions. This command and options listed can be used for various purposes like debugging, troubleshooting and triaging Linux processes. Mentioned options and combinations if tried, will help one to establish thorough understanding of “lsof” command. Other commands like lstat , stat and ls also can be explored in combination of “lsof” command.

Baca JugaHow to Enable Timestamp in Linux History Command Output


Linux
  1. 8 Contoh Perintah Tanggal Cepat di Linux

  2. Perintah killall Linux untuk Pemula (8 Contoh)

  3. 7 Contoh Perintah lsof di Linux

  1. 16 Contoh Perintah Cat Cepat di Linux

  2. 12 Contoh Perintah IP untuk Pengguna Linux

  3. Perintah dir Linux untuk pemula (10 contoh)

  1. Perintah Linux rm Dijelaskan untuk Pemula (8 Contoh)

  2. Tutorial Perintah Linux ln untuk Pemula (5 Contoh)

  3. Tutorial Perintah Linux nl untuk Pemula (7 Contoh)