Linux LSOF -Befehl

Linux LSOF -Befehl
Das Befehlstool „LSOF“ in Linux ist eines der vielen integrierten Tools, die für die Überprüfung der "Liste der geöffneten Dateien" sehr nützlich sind. Ja, der Begriff „LSOF“ ist die Abkürzung der Aufgabe.

Es werden ständig eine Reihe von Prozessen im System ausgeführt, in denen auf verschiedene Dateien des Systems zugegriffen wird. Diese Dateien können Festplattendateien, Skripte, Netzwerkhöhlen, Geräte, benannte Pipes und andere sein. Mit „LSOF“ ist es möglich, viele Dinge auszuführen, z. B. Debugging. Es ist auch sehr nützlich für Systemadministratoren, herauszufinden, auf welche Dateien durch die Prozesse zugegriffen werden. Eines der nützlichsten Szenarien, die ich gefunden habe.

Lassen Sie uns ohne weiteres mit „LSOF“ beginnen! Ich gehe davon aus, dass Ihr aktuelles UNIX/Linux.

Standort

Welches LSOF

Dies berichtet über den vollständigen Pfad des Befehls, in diesem Fall "LSOF".

"LSOF" -Version
lsof -v

Dies wird über eingehende Versionsinformationen von „LSOF“ berichten, einschließlich des Erstellungsdatums der binären, Compiler-Version, der Compiler-Flags und anderer.

Grundlegende „LSOF“ -Nutzung

Führen Sie "lsof" von selbst aus.

LSOF

Dies meldet eine große Liste aller Dateien, auf die das System zum Zeitpunkt des Ausführens des Befehls zugegriffen wird.

Während alle Felder selbsterklärend sind, werden Sie meistens verwirrt über die Spalten "FD" und "Typ" und deren Werte. Schauen wir sie uns an.

FD: Abkürzung von "Dateideskriptor". Es erfolgt die folgenden Werte.

  • CWD: aktuelles Arbeitsverzeichnis
  • RTD: Root Directory
  • TXT: Programmtext (Daten, Code und andere)
  • MEM: MEMPEOR-MADD-Datei
  • ERR: FD Informationsfehler
  • MMAP: Speichergebundenes Gerät
  • LTX: Shared Library Text (Daten und Code)
  • M86: DOS Fusions -Kartierdatei

Es gibt auch andere Werte, die Sie in der Spalte bemerken, wie „1U“, gefolgt von U, R, W usw. Wert. Was bedeuten diese?

  • R: Lesezugriff
  • W: Zugriff schreiben
  • U: Lesen und Schreiben Sie Zugriff
  • - : Unbekannter Modus und es enthält ein Sperrzeichen
  • ": Modus ist unbekannt und es gibt keinen Schlosscharakter

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

  • DIR: Verzeichnis
  • CHR: Charakter-spezielle Datei
  • Reg: Regelmäßige Datei
  • FIFO: Erster, zuerst raus

Benutzerspezifische geöffnete Dateien

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

Führen Sie den folgenden Befehl aus, um die Dateien zu überprüfen, auf die von einem bestimmten Benutzer zugegriffen wird.

lsof -u

Um die Benutzer mit einem höheren Rang zu überprüfen.

sudo lsof -u

Wie wäre es, wenn Sie alle Befehle und Dateien überprüfen, auf die ein bestimmter Benutzer zugegriffen hat? Führen Sie die folgenden aus.

lsof -i -u

Auch für Benutzer mit höherem Rang benötigt „LSOF“ das Privileg "Superuser".

sudo lsof -i -u

Portspezifische laufende Prozesse

Wenn Sie alle Prozesse herausfinden, die derzeit einen bestimmten Port verwenden.

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

Wenn Sie beispielsweise alle Programme zum Zugriff auf Port 80 über das TCP/IP -Protokoll überprüfen, führen Sie den folgenden Befehl aus.

lsof -i TCP: 80

Diese Methode kann auch verwendet werden, um alle Prozesse anzuzeigen, die Ports in einem bestimmten Bereich verwenden, z. B. 1 bis 1000. Die Befehlsstruktur ähnelt zuvor mit ein wenig Magie im Port -Zahlenteil.

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 aus dem aktuellen System.

lsof -i

Ohne mit ^

Ja, wir können bestimmte Benutzer, Port, FD und andere mit dem Charakter "^" ausschließen. Alles, was Sie tun müssen, ist 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^Wurzel

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

PID -Suche

PID ist eine wichtige Eigenschaft eines laufenden Prozesses auf dem System. Es ermöglicht eine feinere Steckdose auf einen bestimmten Prozess. Der Prozessname ist in vielen Situationen nicht sehr hilfreich, da der gleiche binäre Kopien von sich selbst erstellen und parallel eine andere Aufgabe ausführen kann.

Wenn Sie nicht wissen, wie Sie die PID eines Prozesses erhalten, verwenden Sie einfach "PS", um alle laufenden Prozesse aufzulisten und die Ausgabe mit "Grep" mit dem Prozessnamen und/oder den Befehlen zu filtern.

PS -a

Führen Sie nun die Filterung mit "Grep" durch.

ps -a | Grep

Schauen Sie nun heraus.

lsof -p

Auflisten geöffneter Dateien für ein bestimmtes Gerät

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

LSOF

Dieser Befehl ist super nützlich, um alle laufenden Prozesse mit ihren Eigentümerinformationen zu finden, die auf ein bestimmtes Dateisystem zugreifen. Wenn Sie Probleme haben, ein Dateisystem zu entschärfen, ist dies der beste Weg, um zu gehen.

LSOF

Liste geöffnete Dateien unter einem Verzeichnis

Ähnlich wie beim vorherigen Beispiel übergeben.

Hinweis: „LSOF“ überprüft das Verzeichnis rekursiv, sodass es Zeit dauern kann.

= lsof +d

Bonus: Beenden Sie alle Benutzeraktivitäten

Seien Sie äußerst vorsichtig mit diesem Teil, da er einfach mit allem durcheinander bringen kann, was ein Benutzer tut. Der folgende Befehl tötet alle laufenden Prozesse eines Benutzers ab.

sudo töten -9 'lsof -t -u

Abschließende Gedanken

Die Funktionen von „LSOF“ hören hier nicht einfach auf. Die hier erwähnten sind diejenigen, die wir täglich am meisten brauchen werden. Es gibt viele andere Funktionen von „LSOF“, die nützlich sein können (in bestimmten Fällen natürlich).

Für alle verfügbaren Funktionen und deren Nutzung finden Sie die Mann- und Info -Seiten von „LSOF“.

Mann lsof
Info lsof
LSOF -?

Genießen!