GNU/Linux >> Belajar Linux >  >> Linux

lsof:perintah tidak ditemukan

Kadang-kadang, kami menghadapi situasi di mana kami tidak dapat meng-unmount disk karena dikatakan bahwa file sedang digunakan, tetapi kami tidak dapat memahami file mana yang dimaksud. Dalam situasi seperti itu, kita dapat memeriksa file mana yang dibuka oleh proses mana yang berjalan di sistem.

Ini dapat dilakukan dengan menggunakan perintah lsof, yang berarti Daftar File yang Terbuka. Karena Linux menganggap semuanya, termasuk direktori, perangkat, soket, dan sebagainya sebagai file, kita dapat menggunakan lsof untuk mengidentifikasi semua file yang terbuka dengan mudah.

Jika kita hanya menjalankan lsof, itu akan menampilkan semua file yang terbuka milik proses yang aktif pada sistem. Jika outputnya panjang, kita dapat menggunakan perintah less untuk menggulir output:

# lsof | less

Output yang ditampilkan memiliki kolom seperti Command, PID, User, FD, Type, Device, dan sebagainya, untuk pemahaman yang lebih baik tentang file. Kolom FD berisi informasi tentang deskripsi file, seperti Current Working Directory (CWD), Root Directory (RTD), Program Text (TXT), dan sebagainya. Jika kolom FD berisi informasi seperti 0u, 1u, dan seterusnya, angka menandakan deskriptor file yang sebenarnya dan alfabet menandakan mode yang berbeda (akses baca, akses tulis, dan akses baca/tulis).

jika Anda menemukan kesalahan di bawah ini saat menjalankan perintah lsof:

lsof: command not found

ypu dapat menginstal paket di bawah ini sesuai dengan pilihan distribusi Anda.

Distribusi Perintah
OS X brew install lsof
Debian apt-get install lsof
Ubuntu apt-get install lsof
Alpin apk tambahkan lsof
Linux Arch pacman -S lsof
Kali Linux apt-get install lsof
CentOS yum install lsof
Fedora dnf install lsof
Raspbian apt-get install lsof

Opsi lsof yang sering digunakan

  • -c x :Hanya tampilkan file yang dibuka oleh proses yang eksekusinya dimulai dengan karakter yang ditentukan oleh x.
  • -i x :Alih-alih menampilkan file yang terbuka, tunjukkan soket yang alamat Internetnya adalah x. Jika x tidak ditentukan, tampilkan semua koneksi IP. Ini secara fungsional setara dengan netstat –anp.
  • -u nama pengguna :Hanya tampilkan file yang dibuka oleh nama pengguna.
  • -P :Jangan mengubah nomor port menjadi nama port (misalnya, tampilkan 25 sebagai ganti smtp).

lsof Contoh Perintah

Cukup menjalankan perintah lsof memberi kita daftar semua file yang terbuka di sistem. Dengan menggunakan opsi -u dan menentukan nama pengguna, kita mendapatkan daftar file yang terbuka untuk pengguna tertentu. Saat kita menggunakan opsi -i dan menentukan nomor port, kita mendapatkan informasi tentang proses apa pun yang berjalan pada port tersebut. Saat kami menggunakan opsi -i dan -u dengan nama pengguna tertentu, kami mendapatkan informasi tentang file dan perintah yang diakses oleh pengguna tersebut.

1. Temukan proses yang membuka file tertentu:

# lsof path/to/file

2. Temukan proses yang membuka port internet lokal:

# lsof -i :port

3. Hanya keluarkan ID proses (PID):

# lsof -t path/to/file

4. Daftar file yang dibuka oleh pengguna tertentu:

# lsof -u username

5. Daftar file yang dibuka oleh perintah atau proses yang diberikan:

# lsof -c process_or_command_name

6. Daftar file yang dibuka oleh proses tertentu, dengan PID-nya:

# lsof -p PID

7. Daftar file yang terbuka dalam direktori:

# lsof +D path/to/directory

8. Temukan proses yang mendengarkan pada port TCP IPv6 lokal dan jangan mengonversi nomor jaringan atau port:

# lsof -i6TCP:port -sTCP:LISTEN -n -P

9. Buat daftar proses yang membuka direktori home Anda:

# lsof ~

10. Daftar semua file yang terbuka di direktori home Anda:

# lsof +D

11. Buat daftar file yang dibuka oleh proses yang namanya dimulai dengan “i” dan pemiliknya adalah “geek”:

# lsof -a -c i -u geek

12. Daftar file menggunakan TCP port 80, berulang setiap dua detik sampai lsof dihentikan:

# lsof -i TCP:80 -r 2

Kata Akhir

lsof daftar file yang terbuka. Karena semua yang ada di Linux adalah file, alat ini dapat memberi tahu Anda banyak informasi tentang sistem Anda yang sedang berjalan. Ini terutama digunakan untuk memberi tahu proses apa yang memiliki file apa yang terbuka, tetapi juga dapat digunakan untuk melihat informasi koneksi TCP dan UDP, antara lain.


Linux
  1. ifrename:perintah tidak ditemukan

  2. netstat:perintah tidak ditemukan

  3. kubectl:perintah tidak ditemukan

  1. tvservice:perintah tidak ditemukan

  2. rm:perintah tidak ditemukan

  3. mv:perintah tidak ditemukan

  1. nc:perintah tidak ditemukan

  2. diff:perintah tidak ditemukan

  3. ln:perintah tidak ditemukan