Cara mengetahui siapa yang menggunakan fail di Linux

Cara mengetahui siapa yang menggunakan fail di Linux

Dalam artikel ini, kami akan menerangkan bagaimana untuk mengetahui siapa yang menggunakan fail tertentu di Linux. Ini akan membantu anda mengetahui pengguna sistem atau proses yang menggunakan fail terbuka.

Kita boleh menggunakan arahan LSOF untuk mengetahui sama ada seseorang menggunakan fail, dan jika mereka, siapa. Ia membaca memori kernel dalam cariannya untuk fail terbuka dan membantu anda menyenaraikan semua fail terbuka. Dalam kes ini, fail terbuka mungkin fail biasa, direktori, fail khas blok, fail khas watak, aliran, fail rangkaian dan banyak lagi - kerana di linux semuanya adalah fail.

LSOF digunakan pada sistem fail untuk mengenal pasti siapa yang menggunakan sebarang fail pada sistem fail tersebut. Anda boleh lari perintah lsof pada sistem fail linux dan output mengenal pasti pemilik dan memproses maklumat untuk proses menggunakan fail seperti yang ditunjukkan dalam output berikut.

$ lsof /dev /null 
Senarai semua fail yang dibuka di Linux
Perintah PID Pengguna FD Jenis Saiz Peranti /Off Node Nama Sistem 1480 TECMINT 0R CHR 1,3 0T0 6 /DEV /NULL SH 1501 TECMINT 0R CHR 1,3 0T0 6 /DEV /NULL SH 1501 TECMINT 1W CHR 1,3 0T0 6 / dev/null dbus-daem 1530 tecmint 0u chr 1,3 0t0 6/dev/null xfce4-sees 1603 tecmint 0r chr 1,3 0t0 6/dev/null xfce4-sees 1603 tecmint 1w chr 1,3 0t0 6/dev/ null at-spi-bu 1604 tecmint 0r chr 1,3 0t0 6 /dev /null dbus-daem 1609 tecmint 0u chr 1,3 0t0 6 /dev /null at-spi2-r 1611 tecmint 0u chr 1,3 0t0 6 / dev/null xfconfd 1615 tecmint 0u chr 1,3 0t0 6/dev/null xfwm4 1624 tecmint 0r chr 1,3 0t0 6/dev/null xfwm4 1624 tecmint 1w chr 1,3 0t0 6/dev/null 0R CHR 1,3 0T0 6 /DEV /NULL XFCE4-PAN 1628 TECMINT 1W CHR 1,3 0T0 6 /DEV /NULL THUNAR 1630 TECMINT 0R CHR 1,3 0T0 6 /DEV /NULL THUNAR 1630 TECMINT 1W CHR 1,3 0T0 6 /dev /null xfdesktop 1632 tecmint 0r chr 1,3 0t0 6 /dev /null xfdesktop 1632 tecmint 1w chr 1,3 0t0 6 /dev /null .. 

Untuk menyenaraikan fail yang dibuka khusus pengguna, jalankan Pengganti Perintah berikut Tecmint dengan nama pengguna yang sebenarnya.

$ lsof -u tecmint 
Senarai fail yang dibuka oleh pengguna
Perintah PID Pengguna FD Jenis Peranti Saiz /Off Node Nama Sistem 1480 TECMINT CWD DIR 8,3 4096 2 /SystemD 1480 TECMINT RTD DIR 8,3 4096 2 /SystemD 1480 TECMINT TXT REG 8,3 1595792 3147496 /SYSTEMD 1480 Tecmint Mem Reg 8,3 1700792 3150525/lib/x86_64-linux-gnu/libm-2.27.Jadi SystemD 1480 Tecmint Memeg 8,3 121016 3146329/lib/x86_64-linux-gnu/libudev.Jadi.1.6.9 Systemd 1480 Tecmint Mem Reg 8,3 84032 3150503/lib/x86_64-linux-gnu/libgpg-error.Jadi.0.22.0 Systemd 1480 Tecmint Mem Reg 8,3 43304 3150514/lib/x86_64-linux-gnu/libjson-c.Jadi.3.0.1 Systemd 1480 Tecmint Mem Reg 8,3 34872 2497970/usr/lib/x86_64-linux-gnu/libargon2.Jadi.0 Systemd 1480 Tecmint Memeg 8,3 432640 3150484/lib/x86_64-linux-gnu/libdevmapper.Jadi.1.02.1 Systemd 1480 Tecmint Mem Reg 8,3 18680 3150450/lib/x86_64-linux-gnu/libattr.Jadi.1.1.0 Systemd 1480 Tecmint Mem Reg 8,3 18712 3150465/lib/x86_64-linux-gnu/libcap-ng.Jadi.0.0.0 Systemd 1480 Tecmint Mem Reg 8,3 27112 3150489/lib/x86_64-linux-gnu/libuuid.Jadi.1.3.0 Systemd 1480 Tecmint Mem Reg 8,3 14560 3150485/lib/x86_64-linux-gnu/libdl-2.27.Jadi… 

Penggunaan penting lain lsof adalah untuk mengetahui proses mendengar di pelabuhan tertentu. Contohnya mengenal pasti proses mendengar di port 80 Menggunakan arahan berikut.

$ sudo lsof -i tcp: 80 
Ketahui Proses Mendengarkan Port
Perintah PID Pengguna FD Jenis Peranti Saiz/Off Nama Node Httpd 903 Root 4U IPv6 20222 0T0 TCP *: Http (Dengar) Httpd 1320 Apache 4U IPv6 20222 0T0 TCP *: Http (Dengar) (Dengar) Httpd 1482 Apache 4U IPv6 20222 0T0 TCP *: http (dengar) httpd 1493 apache 4u ipv6 20222 0t0 tcp *: http (dengar) 20222 0T0 TCP *: http (dengar) httpd 2029 apache 4u ipv6 20222 0t0 tcp *: http (dengar) httpd 2044 apache 4u ipv6 20222 0t0 tcp *: http (dengar) ) httpd 3201 apache 4u ipv6 20222 0t0 tcp *: http (dengar) 

Catatan: Sejak lsof Membaca memori kernel Dalam cariannya untuk fail terbuka, perubahan pesat dalam memori kernel boleh menyebabkan output yang tidak dapat diramalkan. Ini adalah salah satu kelemahan utama menggunakan arahan LSOF.

Untuk maklumat lanjut, lihat lsof Halaman lelaki:

$ man lsof 

Itu sahaja! Dalam artikel ini, kami telah menjelaskan bagaimana untuk mengetahui siapa yang menggunakan fail tertentu di Linux. Kami telah menunjukkan cara mengenal pasti pemilik dan memproses maklumat untuk proses menggunakan fail terbuka. Gunakan borang maklum balas di bawah untuk menghubungi kami untuk sebarang pertanyaan atau komen.