Der lsof-Befehl unter Linux

Abid Ullah 20 Juni 2023
  1. den lsof-Befehl unter Linux
  2. Verwenden Sie den Befehl lsof, um Ports in Linux aufzulisten
  3. Listen Sie alle geöffneten Dateien mit dem Befehl lsof in Linux auf
  4. Alle geöffneten Dateien eines Benutzers mit dem Befehl lsof in Linux auflisten
  5. Listen Sie alle Internetdateien mit dem Befehl lsof in Linux auf
  6. Listen Sie alle Dateien nach einem bestimmten Prozess auf, indem Sie den Befehl lsof in Linux verwenden
  7. Finden Sie Prozesse, die auf bestimmten Ports laufen, indem Sie den Befehl lsof in Linux verwenden
  8. Überprüfen Sie die Listening Ports mit dem Befehl lsof in Linux
Der lsof-Befehl unter Linux

In diesem Linux-Artikel lernen wir den Befehl lsof im Linux-Betriebssystem kennen. Wir werden sehen, wie dieser Befehl für verschiedene Zwecke unter Linux verwendet wird.

Wir verwenden den Befehl lsof, um Ports zu überprüfen, die auf dem Linux-Betriebssystem verwendet werden. Mit diesem lsof-Befehl können wir herausfinden, ob ein Port auf dem Linux-Betriebssystem verwendet wird oder nicht.

Beginnen wir damit, was der Befehl lsof in Linux ist.

den lsof-Befehl unter Linux

Das lsof steht für den List Open Files-Befehl, der in Linux verwendet wird, um festzustellen, ob ein Port verwendet wird oder nicht. Dieser Befehl gibt Prozesse an den Benutzer zurück, der von der Systemdatei in Linux verwendet wird.

Es hilft uns festzustellen, warum ein Dateisystem weiterhin verwendet wird und nicht ausgehängt werden kann.

Wie wir wissen, betrachtet das Linux-Betriebssystem alles als Datei und Ordner. Daher ist die im Linux-System verwendete Datei oder ein Ordner sehr wichtig.

Wenn wir auf einem Linux-Betriebssystem arbeiten, werden mehrere Dateien und Ordner verwendet. Einige dieser Dateien oder Ordner wären für den Benutzer sichtbar, andere nicht.

Der Befehl lsof liefert eine Liste von Dateien oder Ordnern, die auf dem Linux-Betriebssystem geöffnet sind. Dieser Befehl gibt uns Informationen, um die Dateien zu finden, die von welchem Prozess im System geöffnet werden.

Mit nur einem Klick listet es alle geöffneten Dateien in der Ausgabekonsole auf. Der Befehl lsof listet nicht nur allgemeine reguläre Dateien auf, sondern kann auch Verzeichnisse, gemeinsam genutzte Bibliotheken, spezielle Dateien im System und viele andere Dinge auflisten.

Der Befehl lsof kann mit dem Befehl grep kombiniert und zum erweiterten Suchen und Auflisten von Dateien unter Linux verwendet werden.

Verwenden Sie den Befehl lsof, um Ports in Linux aufzulisten

Der Befehl lsof hilft uns, alle geöffneten Dateien oder Ordner auf unserem Linux-System aufzulisten. Wir können diesen Befehl also verwenden, um alle Prozesse anzuzeigen, die auf einem bestimmten Port in unserem Linux-System geöffnet sind.

Um den Befehl lsof zu verwenden, müssen wir das Dienstprogramm lsof installieren, falls es nicht bereits auf unserem Linux-System installiert ist, indem Sie den folgenden Befehl im Terminal verwenden.

$ sudo apt install lsof

Installieren des lsof-Dienstprogramms im Linux-System

Nachdem wir das Dienstprogramm des Befehls lsof auf unserem System installiert haben, können wir es jetzt verwenden, um Dateien und Ports in unserem Linux-System aufzulisten.

Listen Sie alle geöffneten Dateien mit dem Befehl lsof in Linux auf

Als Linux-Benutzer möchten wir manchmal wissen, welche Portnummer ein bestimmter Prozess von einer Datei geöffnet wird. Alle Ports des Linux-Betriebssystems sind einer Prozess-ID oder einem Dienst zugeordnet.

Wir werden verschiedene Methoden sehen, mit denen wir bestimmen können, welcher Port eine Datei einen Prozess öffnet.

Wie im folgenden Beispiel gezeigt, haben wir den Befehl lsof verwendet. Es zeigt alle Dateien, die von einem beliebigen Prozess in unserem Linux-System geöffnet wurden.

Wie wir sehen können, zeigt es eine lange Liste von Dateien, die von Prozessen im Linux-System geöffnet wurden, wie im Bild unten gezeigt.

Beispielcode:

$ lsof

Verwenden des Befehls lsof zum Auflisten von Dateien und Ports

Die obige Abbildung zeigt, dass es Details zu geöffneten Dateien gibt. Zu den Details gehören die Prozess-ID, der dem Prozess zugeordnete Benutzer, FD (File Descriptor) und die Dateigröße.

All dies gibt detaillierte Informationen über die vom Befehl geöffnete Datei, Prozess-ID, Benutzer usw.

Alle geöffneten Dateien eines Benutzers mit dem Befehl lsof in Linux auflisten

Falls mehr als ein Benutzer ein Linux-System verwendet. Dann hat jeder unterschiedliche Anforderungen und verwendet unterschiedliche Dateien.

Wenn wir eine Liste von Dateien herausfinden möchten, die ein bestimmter Benutzer öffnet, verwenden wir den folgenden Befehl.

Syntax:

$ lsof -u username

Beispielcode:

$ lsof -u abid

Verwenden Sie lsof -u, um alle Dateien aufzulisten, die von einem Benutzer geöffnet wurden

Die obige Abbildung zeigt, dass der Befehl lsof -u abid alle Dateien auflistet, die von einem Benutzer namens abid geöffnet wurden.

Wir können auch die verschiedenen Dateitypen sehen (CHR, REG, DIR). CHR ist eine Sonderzeichendatei, REG ist eine normale Datei und DIR ist ein Verzeichnis.

Listen Sie alle Internetdateien mit dem Befehl lsof in Linux auf

Um alle Internet- und Netzwerkdateien aufzulisten, verwenden wir die Option -i mit dem Befehl lsof. Wir verwenden den Befehl lsof im Terminal wie folgt:

$ sudo lsof -i

Verwenden des Befehls lsof-i zum Auflisten aller Internetdateien

Nachdem wir den Befehl lsof -i ausgeführt haben, können wir sehen, dass er Dienstnamen und numerische Ports in der Ausgabe anzeigt.

Listen Sie alle Dateien nach einem bestimmten Prozess auf, indem Sie den Befehl lsof in Linux verwenden

Beispielsweise läuft ein bestimmter Prozess namens Mysql, und wir möchten alle Dateien herausfinden, die von diesem Prozess geöffnet wurden. Wir können das herausfinden, indem wir den Befehl lsof wie folgt verwenden:

$ lsof -c Mysql

Dieser lsof-Befehl listet alle Dateien auf, die von einem bestimmten im Befehl genannten Prozess geöffnet wurden. Auf diese Weise können wir Dateien finden, die von jedem Prozess geöffnet wurden, indem wir einfach den Prozessnamen im Befehl angeben.

Finden Sie Prozesse, die auf bestimmten Ports laufen, indem Sie den Befehl lsof in Linux verwenden

Wenn wir alle laufenden Prozesse auf einem Port entdecken wollen, verwenden wir den folgenden lsof-Befehl mit der Option -i. Das folgende Beispiel listet alle laufenden Prozesse von Port 30 auf.

Wir können Prozesse finden, die auf einem bestimmten Port laufen, indem wir einfach die Portnummer im Befehl angeben, wie im Beispielcode gezeigt.

Beispielcode:

$ sudo lsof -i :30

Überprüfen Sie die Listening Ports mit dem Befehl lsof in Linux

Im Linux-System wird der Netzwerkport durch seine Nummer, IP-Adresse und den Typ des für die Kommunikation verwendeten Protokolls wie TCP oder UDP identifiziert. Wir können die Listening-Ports unter Linux auf verschiedene Weise überprüfen, und in diesem Artikel werden wir den Befehl lsof verwenden, um die Listening-Ports zu überprüfen.

Wie wir wissen, ist lsof ein mächtiger Befehl in Linux, der Informationen über von Prozessen geöffnete Dateien liefern kann. Unter Linux verwenden wir den lsof-Befehl des Terminals, um alle lauschenden TCP-Ports abzurufen.

Befehl zum Anzeigen aller TCP-Ports, die auf unserem System ausgeführt werden:

$ sudo lsof -nP -iTCP -sTCP:LISTEN

Im obigen Befehl haben wir -n verwendet, um die Portnummern nicht in Namen zu ändern. Wir haben auch -p verwendet, um die numerischen Adressen der Ports anzuzeigen.

Wir haben -iTCP -sTCP:LISTEN verwendet, um nur Netzwerkdateien mit TCP-Status anzuzeigen.

Ausgang:

Der lsof-Befehl wurde verwendet, um die Liste aller TCP-Ports anzuzeigen

Nachdem wir den obigen Befehl im Terminal verwendet haben, können wir in der Ausgabe alle TCP-Ports sehen, die in unserem Linux-System ausgeführt werden.

Wir hoffen, dass Sie diesen Artikel hilfreich finden, um zu verstehen, wie Sie den Befehl lsof unter Linux verwenden, um Prozesse oder Dateien aufzulisten.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn