GNU/Linux >> Belajar Linux >  >> Linux

Perintah lsof di Linux (10 Contoh)

Di Linux, semuanya dianggap sebagai file dan diatur di dalam direktori. lsof (List of Open File) menampilkan daftar file yang dibuka. Ini terutama membantu untuk mengetahui informasi tentang proses yang membuka file. Selain file, ia dapat mencantumkan direktori, file khusus blok, perpustakaan bersama, file khusus karakter, pipa biasa, pipa bernama, soket internet, soket domain UNIX, dan banyak lainnya.

Dalam tutorial ini, kita belajar tentang lsof command di Linux menggunakan contoh yang mudah dipahami .

perintah lsof

Perintah lsof secara default tersedia di sebagian besar distribusi Linux. Sangat umum perintah lsof digunakan ketika kita tidak dapat meng-unmount disk, maka perintah lsof membantu menemukan file yang terbuka dan proses yang menyebabkannya.

Sintaks:

lsof [options] [names]

Sintaks di atas akan mencantumkan semua file yang telah dibuka oleh semua proses dalam sistem.

1. Daftar semua file yang terbuka

Untuk mendapatkan daftar file yang terbuka dengan cepat, ketik lsof. Ini mencantumkan semua file yang telah dibuka oleh berbagai proses sistem.

$ lsof 

Biasanya outputnya akan sangat panjang, Anda menggunakan $ sudo lsof | more , jika Anda ingin melihat konten satu layar pada satu waktu.

2. Daftar file yang terbuka menurut nama pengguna

lsof memiliki perintah yang dapat digunakan untuk menemukan daftar file tertentu yang dibuka oleh pengguna tertentu.

Untuk mencantumkan file yang terbuka menurut nama pengguna gunakan perintah berikut:

$ lsof -u bobbin

Untuk beberapa pengguna gunakan sintaks berikut:

$ lsof -u [username1] -u [username2]

ATAU

$ lsof -u [username1], [username2]

Untuk membuat daftar file yang terbuka kecuali untuk pengguna tertentu:

$ lsof -u ^root

Untuk mencantumkan hanya id proses, gunakan -t pilihan.

$ lsof -t -u sonar

Ini akan membantu jika Anda perlu mematikan semua proses yang terkait dengan penggunaan tertentu.

$ kill -9 lsof -t -u sonar

3. Daftar file yang terbuka menurut proses

lsof juga dapat digunakan untuk membuat daftar file yang dibuka oleh proses tertentu dengan menggunakan -c pilihan diikuti dengan nama proses.

Misalnya untuk membuat daftar semua file yang terbuka dengan ssh:

$ lsof -c ssh

4. Daftar file yang terbuka menurut nama file

Kita dapat menentukan nama file sebagai argumen untuk mendaftar semua proses yang telah membuka file tertentu.

Untuk membuat daftar semua proses yang dibuka oleh file /var/log/messages, ketik:

$ lsof /var/log/messages

5. Daftar file yang terbuka menurut ID Proses

Setiap file diberi ID proses. Sebuah proses tunggal dapat membuka sejumlah besar file. Kita dapat menggunakan perintah lsof untuk membuat daftar semua file yang terbuka untuk ID Proses yang diberikan.

Misalnya untuk membuat daftar file yang terbuka dengan ID Proses 2, ketik:

$ lsof -p 2

Memetikan untuk membuat daftar file yang terbuka untuk beberapa ID proses, ketik

$ lsof -p 2,3

Sebuah sistem berisi sejumlah besar proses, yang masing-masing memiliki file yang terbuka untuk digunakan. Suatu proses mungkin memiliki banyak proses anak, dan proses ini juga dikenal sebagai proses induk.

Perintah lsof digunakan dengan -R pilihan untuk mendapatkan daftar file yang dibuka oleh PPID (Induk Proses IDentifikasi).

$ lsof -R

Anda dapat dari output kolom ke-5 akan menampilkan PPID dari file yang terbuka.

Untuk menemukan PPID untuk PID tertentu, ketik:

$ lsof -p [PID] -R

6. Mencantumkan file yang terbuka di Direktori

Untuk membuat daftar file yang terbuka di direktori tertentu, kita dapat menggunakan perintah lsof.

Gunakan +d opsi untuk menampilkan daftar file yang terbuka di direktori yang disediakan, namun tidak masuk ke subdirektori.

Contoh berikut mencari file yang terbuka di direktori /var/log:

$ lsof +d /var/log

Opsi +D memerintahkan lsof untuk mencari seluruh kedalaman direktori untuk semua instance yang terbuka serta semua file dan direktori yang ada di dalamnya.

Dalam hal ini, lsof mencari file yang terbuka di /var/log dan subdirektorinya:

$ lsof +D /var/log

7. Daftar file yang terbuka dengan protokol jaringan

Suatu sistem dapat dihubungkan ke berbagai jaringan untuk berbagai tujuan. Segala sesuatu di Linux adalah file, kita dapat memeriksa file yang dibuka oleh beberapa koneksi jaringan di sistem.

Untuk membuat daftar file yang terbuka dalam protokol TCP, kita dapat menjalankan perintah berikut.

$ lsof -i TCP 

Untuk membuat daftar file yang terbuka dalam protokol UDP, kita dapat menjalankan perintah berikut.

$ sudo lsof -i UDP 

8. Daftar file yang terbuka menurut nomor port

lsof memiliki perintah yang secara khusus mencantumkan file yang terbuka pada nomor port tertentu untuk mencantumkan semua proses yang berjalan pada port tersebut.

Misalnya untuk membuat daftar file yang terbuka pada nomor port 443

$ lsof -i :443

Anda dapat membuat daftar file yang terbuka untuk beberapa nomor port sebagai berikut:

$ lsof -i :80,443

Anda juga dapat membuat daftar file TCP atau UDP yang terbuka berdasarkan rentang port.

$ lsof -i TCP:1-49151

9. Daftar file yang terbuka dengan IPv4/IPv6

Ada opsi di lsof untuk membuat daftar file jaringan IPv4 atau IPv6 terbuka.

Untuk menampilkan file terbuka IPv4, ketik

$ lsof -i4

Sintaks berikut dapat digunakan untuk menampilkan file terbuka IPv6:

$ lsof -i6

10. Jalankan lsof terus menerus

Mode pengulangan memungkinkan lsof untuk terus mengulang dengan pembaruan dengan penundaan yang ditentukan. Mode pengulangan dapat diaktifkan dengan menggunakan opsi '-r' atau '+r', di mana '+r' akan berakhir ketika tidak ada file terbuka yang ditemukan dan '-r' akan terus terdaftar sampai interupsi manual dimulai. Setiap keluaran siklus penundaan akan dipisahkan dengan menggunakan ‘========’.

Sintaks:

$ lsof [options] -r/+r[time-interval]

Misalnya:

$ lsof -u sonar -r5

header perintah lsof

lsof memiliki berbagai kolom.

COMMAND     PID   TID TASKCMD               USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME

Nama perintah UNIX yang terkait dengan proses disimpan di COMMAND kolom.

PID menampilkan ID proses dari perintah.

USER menampilkan nama pengguna yang terkait dengan proses berikut.

TID menunjukkan ID tugas.

FD adalah deskriptor file yang menyertakan singkatan seperti cwd (Current Working Directory), txt (File Teks), mem (Memory-mapped file), rtd (direktori root), dan banyak lainnya.

TYPE adalah singkatan dari jenis file tertentu, seperti REG (Regular file), DIR (Directory), CHR (Character special file), dan sebagainya.

DEVICE berisi nomor perangkat.

SIZE/OFF berisi ukuran file atau offset file dalam byte.

NODE nilai kolom mewakili nomor simpul dari file lokal.

NAME menampilkan nama titik pemasangan file dan sistem file, serta alamat Internet.

Kesimpulan

Dalam tutorial ini, kita belajar tentang perintah lsof dan kegunaannya dengan contoh. lsof menyediakan sejumlah opsi untuk menyesuaikan outputnya untuk memenuhi kebutuhan Anda. Ini memungkinkan Anda dengan mudah dan cepat menggabungkan beberapa argumen untuk mendapatkan output yang diperlukan.


Linux
  1. 8 Contoh Perintah Linux TR

  2. sa Contoh Perintah di Linux

  3. w Contoh Perintah di Linux

  1. Contoh Perintah ac di Linux

  2. Contoh Perintah df di Linux

  3. du Contoh Perintah di Linux

  1. 7 Contoh Perintah lsof di Linux

  2. Contoh Praktis Perintah rsync di Linux

  3. Contoh Perintah diff di Linux