Linux-Befehle

Linux lsof-Befehl

Linux lsof-Befehl
Das Befehlstool „lsof“ in Linux ist eines der vielen integrierten Tools, das sehr nützlich ist, um die „Liste der geöffneten Dateien“ zu überprüfen. Ja, der Begriff „lsof“ ist die Abkürzung der Aufgabe.

Im System laufen ständig eine Reihe von Prozessen, die auf verschiedene Dateien des Systems zugreifen. Diese Dateien können Festplattendateien, Skripte, Netzwerk-Sockets, Geräte, Named Pipes und andere sein. Mit „lsof“ ist es möglich, viele Dinge durchzuführen, wie zum Beispiel das Debuggen. Es ist auch sehr nützlich für Systemadministratoren herauszufinden, auf welche Dateien von welchen Prozessen zugegriffen wird. Eines der nützlichsten Szenarien, die ich gefunden habe, ist, wenn Sie ein Dateisystem aushängen, aber noch darauf zugegriffen wird.

Fangen wir kurzerhand mit „lsof“ an! Ich gehe davon aus, dass auf Ihrem aktuellen UNIX/Linux-System bereits „lsof“ installiert ist.

Ort

welche lsof

Dies meldet den vollständigen Pfad des Befehls, in diesem Fall „lsof“.

„lsof“-Version
lsof -v

Dadurch werden detaillierte Versionsinformationen von „lsof“ ausgegeben, einschließlich des Build-Datums der Binärdatei, der Compiler-Version, der Compiler-Flags und anderer.

Grundlegende „lsof“-Nutzung

Führen Sie „lsof“ selbst aus.

lsof

Dies zeigt eine GROSSE Liste aller Dateien an, auf die das System zum Zeitpunkt der Ausführung des Befehls zugreift.

Obwohl alle Felder selbsterklärend sind, werden Sie meistens durch die Spalten „FD“ und „TYPE“ und ihre Werte verwirrt. Schauen wir sie uns an.

FD: Abkürzung für „File Descriptor“. Es kommt auf folgende Werte.

Es gibt auch andere Werte, die Sie in der Spalte bemerken werden, wie „1u“, gefolgt von u, r, w usw. Wert. Was bedeuten die??

TYP: Beschreibt den Dateityp und seine Identifizierung. Die Werte sind wie folgt.

Benutzerspezifisch geöffnete Dateien

Linux ist eine brillante Multi-User-Plattform. Mehrere Benutzer können gleichzeitig auf das System zugreifen und Vorgänge ausführen, für die sie eine Berechtigung haben.

Um die Dateien auszuchecken, auf die ein bestimmter Benutzer zugreift, führen Sie den folgenden Befehl aus.

lsof -u

Um jedoch die Benutzer mit höherem Rang auszuchecken, benötigt „lsof“ die Berechtigung „Superuser“.

sudo lsof -u

Wie wäre es, alle Befehle und Dateien auszuchecken, auf die ein bestimmter Benutzer zugreift?? Führen Sie den folgenden aus.

lsof -i -u

Auch hier benötigt „lsof“ für Benutzer mit einem höheren Rang das „Superuser“-Privileg.

sudo lsof -i -u

Portspezifische laufende Prozesse

Um alle Prozesse herauszufinden, die derzeit einen bestimmten Port verwenden, rufen Sie „lsof“ mit dem Flag „-i“ gefolgt von den Protokoll- und Portinformationen auf.

lsof -i<46><@hostname|host_address>
:

Um beispielsweise alle Programme auszuchecken, die derzeit über das TCP/IP-Protokoll auf Port 80 zugreifen, führen Sie den folgenden Befehl aus.

lsof -i TCP:80

Diese Methode kann auch verwendet werden, um alle Prozesse anzuzeigen, die Ports innerhalb eines bestimmten Bereichs verwenden, z. B. 1 bis 1000. Die Befehlsstruktur ist ähnlich wie zuvor mit ein wenig Magie am Portnummernteil.

lsof -i TCP:1-1000

Protokollspezifische Prozesse

Hier sind 2 Beispiele, die die Prozesse zeigen, die derzeit die IPv4- und IPv6-Protokolle verwenden.

lsof -i 4

lsof -i 6

Netzwerkverbindungen auflisten

Der folgende Befehl meldet alle Netzwerkverbindungen des aktuellen Systems.

lsof -i

Ausschließen mit ^

Ja, wir können bestimmte Benutzer, Ports, FD und andere mit dem Zeichen „^“ ausschließen. Alles, was Sie tun müssen, ist, es mit Vorsicht zu verwenden, damit Sie nicht die gesamte Ausgabe durcheinander bringen.

In diesem Beispiel schließen wir alle Prozesse vom Benutzer „root“ aus.

lsof -u^root

Es gibt andere Möglichkeiten, diesen Ausschlussmechanismus mit „lsof“ zu verwenden, zum Beispiel mit den Flags wie „-c“, „-d“ usw. Nicht alle Flags unterstützen diesen Mechanismus. Aus diesem Grund empfehle ich, eine Demo mit dieser Methode mit einem beliebigen Flag auszuprobieren, bevor Sie sie in einige Skripte implementieren.

PID-Suche

PID ist eine wichtige Eigenschaft jedes laufenden Prozesses auf dem System. Es ermöglicht eine genauere Zuordnung zu einem bestimmten Prozess. Der Prozessname ist in vielen Situationen nicht sehr hilfreich, da dieselbe Binärdatei Kopien von sich selbst erstellen und verschiedene Aufgaben parallel ausführen kann.

Wenn Sie nicht wissen, wie Sie die PID eines Prozesses erhalten, verwenden Sie einfach „ps“, um alle laufenden Prozesse aufzulisten, und filtern Sie die Ausgabe mit „grep“ mit dem Prozessnamen und / oder den Befehlen.

ps -A

Führen Sie nun die Filterung mit „grep“ durch.

ps -A | grep

Überprüfen Sie nun, auf welche Dateien PID zugreift.

lsof -p

Offene Dateien für ein bestimmtes Gerät auflisten

Die Funktionalität von „lsof“ beschränkt sich nicht nur auf diese Funktionen. Sie können das Ergebnis von „lsof“ auch nach Gerätebasis filtern. Zu diesem Zweck sieht der Befehl ungefähr so ​​​​aus.

lsof

Dieser Befehl ist sehr nützlich, um alle laufenden Prozesse mit ihren Besitzerinformationen herauszufinden, die auf ein bestimmtes Dateisystem zugreifen. Wenn Sie Probleme beim Aushängen eines Dateisystems haben, ist dies der beste Weg.

lsof

Geöffnete Dateien unter einem Verzeichnis auflisten

Ähnlich wie im vorherigen Beispiel übergeben Sie einfach den Verzeichnispfad an „lsof“, um herauszufinden, ob ein Prozess darauf zugreift.

Hinweis: „lsof“ überprüft das Verzeichnis rekursiv, daher kann es einige Zeit dauern.

=lsof +D

Bonus: Beenden Sie alle Benutzeraktivitäten

Seien Sie mit diesem Teil äußerst vorsichtig, da es einfach alles durcheinander bringen kann, was ein Benutzer tut. Der folgende Befehl beendet alle laufenden Prozesse eines Benutzers.

sudo kill -9 'lsof -t -u Abschließende Gedanken

Die Features von „lsof“ hören hier nicht auf. Die hier genannten sind diejenigen, die wir im Alltag am meisten brauchen werden. Es gibt viele andere Funktionen von „lsof“, die sich als nützlich erweisen können (natürlich in bestimmten Fällen).

Alle verfügbaren Funktionen und deren Verwendung finden Sie auf den Man- und Info-Seiten von „lsof“.

Mann lsof

info lsof

lsof -?

Genießen!

Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...
Steuern und verwalten Sie Mausbewegungen zwischen mehreren Monitoren in Windows 10
Dual-Display-Maus-Manager lässt Sie die Mausbewegung zwischen mehreren Monitoren steuern und konfigurieren, indem Sie ihre Bewegungen in der Nähe der ...
Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...