So finden Sie heraus, wer eine Datei unter Linux verwendet

So finden Sie heraus, wer eine Datei unter Linux verwendet

In diesem Artikel werden wir erklären, wie Sie herausfinden, wer eine bestimmte Datei unter Linux verwendet. Dies hilft Ihnen, den Systembenutzer oder den Prozess zu kennen, der eine geöffnete Datei verwendet.

Wir können den Befehl LSOF verwenden, um zu wissen, ob jemand eine Datei verwendet und ob dies der Fall ist, wer, wer. In seiner Suche nach geöffneten Dateien liest es den Kernel -Speicher und hilft Ihnen bei der Auflistung aller geöffneten Dateien. In diesem Fall kann eine geöffnete Datei eine reguläre Datei, ein Verzeichnis, eine Block -Sonderdatei, eine Zeichenspezial Datei, ein Stream, eine Netzwerkdatei und viele andere sein - da unter Linux alles eine Datei ist.

LSOF wird in einem Dateisystem verwendet, um festzustellen, wer Dateien in diesem Dateisystem verwendet. Du kannst rennen LSOF -Befehl Auf dem Linux -Dateisystem und der Ausgabe identifiziert der Eigentümer und Verfahrensinformationen für Prozesse mithilfe der Datei wie in der folgenden Ausgabe gezeigt.

$ lsof /dev /null 
Liste aller geöffneten Dateien unter Linux
Befehl PID -Benutzer FD -Typ Gerätegröße /Aus -Knotenname Systemd 1480 Tecmint 0R Chr. 1,3 0T0 6 /Dev /NULL SH 1501 Tecmint 0r Chr. 1,3 0T0 6 /Dev /Null SH dev/null dbus-daem 1530 tecmint 0u chr 1,3 0t0 6/dev/null xfce4-ses 1603 tecmint 0r chr 1,3 0t0 6/dev/null xfce4-SES 1603 Tecmint 1W Chr. 1,3 0T0 6/dev/dev/dev/ NULL AT-SPI-BU 1604 TECMINT 0R CHR 1,3 0T0 6 /DEV /NULL DBUS-DAEM 1609 Tecmint 0U Chr. 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. 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… 

Um benutzerspezifische geöffnete Dateien aufzulisten, führen Sie den folgenden Befehl Ersetzen Sie aus Tecmint mit dem tatsächlichen Benutzernamen.

$ lsof -u tecmint 
Liste der vom Benutzer geöffneten Dateien
Befehl PID -Benutzer FD -Typ Gerätegröße /Aus -Knotenname Systemd 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 /lib /systemd /systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd systemd 1480 Tecmint Mem Reg 8,3 1700792 3150525/lib/x86_64-linux-gnu/libm-2.27.So systemd 1480 tecmint mem reg 8,3 121016 3146329/lib/x86_64-linux-gnu/libudev.So.1.6.9 Systemd 1480 Tecmint MEM Reg 8,3 84032 3150503/lib/x86_64-linux-gnu/libgpg-fehler.So.0.22.0 systemd 1480 tecmint mem reg 8,3 43304 3150514/lib/x86_64-linux-gnu/libjson-c.So.3.0.1 Systemd 1480 Tecmint Mem Reg 8,3 34872 2497970/usr/lib/x86_64-linux-gnu/libargon2.So.0 systemd 1480 tecmint mem reg 8,3 432640 3150484/lib/x86_64-linux-gnu/libdevMapper.So.1.02.1 systemd 1480 tecmint mem reg 8,3 18680 3150450/lib/x86_64-linux-gnu/libattr.So.1.1.0 systemd 1480 tecmint mem reg 8,3 18712 3150465/lib/x86_64-linux-gnu/libcap-ng.So.0.0.0 systemd 1480 tecmint mem reg 8,3 27112 3150489/lib/x86_64-linux-gnu/libuuid.So.1.3.0 systemd 1480 tecmint mem reg 8,3 14560 3150485/lib/x86_64-linux-gnu/libdl-2.27.So… 

Eine weitere wichtige Verwendung von LSOF ist herauszufinden, dass der Prozess an einem bestimmten Port zu hören ist. Identifizieren Sie beispielsweise den Prozess, der am Port anhört 80 Verwenden des folgenden Befehls.

$ sudo lsof -i TCP: 80 
Finden Sie den Prozesshöranschluss heraus
Befehl PID -Benutzer FD -Typ Gerätegröße/OFF -Knotenname httpd 903 root 4U IPv6 20222 0T0 TCP *: http (Listen) httpd 1320 Apache 4U IPv6 20222 0T0 TCP *: http (Listen) httpd 1481 apvache 4u ipv6 20222 0t0 TCP (LISTEN) httpd 1482 apache 4u IPv6 20222 0t0 TCP *:http (LISTEN) httpd 1493 apache 4u IPv6 20222 0t0 TCP *:http (LISTEN) httpd 1763 apache 4u IPv6 20222 0t0 TCP *:http (LISTEN) httpd 2027 apache 4u IPv6 20222 0T0 TCP *: HTTP (Hören) HTTPD 2029 Apache 4U IPv6 20222 0T0 TCP *: HTTP (Hören) HTTPD 2044 APache 4U IPv6 20222 0T0 TCP *: HTTP (Hören) HTTPD 3199 APVACHE 4U 4U 4U 4U 202222222222222222222222222222222222222222222222222 2222222222 2222222222222222222222222222222222222 2222222222222222222. ) httpd 3201 Apache 4U IPv6 20222 0T0 TCP *: HTTP (Hören) 

Notiz: Seit LSOF Lesen Kernelspeicher in seiner Suche nach offenen Dateien können schnelle Änderungen im Kernel -Speicher zu unvorhersehbaren Ausgängen führen. Dies ist einer der wichtigsten Nachteile bei der Verwendung von LSOF -Befehl.

Weitere Informationen finden Sie in der LSOF Mann Seite:

$ MAN LSOF 

Das ist alles! In diesem Artikel haben wir erklärt, wie man weiß, wer eine bestimmte Datei unter Linux verwendet. Wir haben gezeigt, wie Sie den Eigentümer identifizieren und Informationen für Prozesse mithilfe einer geöffneten Datei identifizieren können. Verwenden Sie das Feedback -Formular unten, um uns für Fragen oder Kommentare zu erreichen.