So verwenden Sie den Befehl LSOF unter Linux

So verwenden Sie den Befehl LSOF unter Linux
In der Linux -Umgebung wird alles als Datei angesehen und in Ordnern oder Verzeichnissen verwaltet. Bei der Arbeit am Linux -Betriebssystem kann es eine Anzahl von Ordnern und Dateien geben, die verwendet werden. Einige von ihnen wären für Benutzer sichtbar, andere können versteckt sein. Die Dateiverwaltung ist also in Linux/UNIX -Verteilungen sehr wichtig.

Im Linux -System ist der beliebteste Befehl LSOF, der für die Liste der geöffneten Datei abgekürzt wird. Dieser Befehl zeigt die Informationen zu den in Ihrem System geöffneten Dateien an. In anderen einfachen Worten können wir erklären, dass der Befehl LSOF Informationen zu den Dateien enthält, die durch welchen Prozess geöffnet werden. Es listet einfach die geöffneten Dateien auf der Ausgabekonsole auf. Es listet Verzeichnis, freigegebene Bibliothek, Blockspecial -Datei, reguläre Pipe, einen Internet -Socket, eine Sonderdatei, die UNIX -Domain -Socket und weitere andere auf. Der Befehl LSOF kann verwendet werden, um mit dem GREP -Befehl zu kombinieren, um fortschrittlichere Funktionen für die Auflistung und Suche durchzuführen.

In diesem Artikel werden Sie ein grundlegendes Verständnis des Befehls LSOF erhalten. Darüber hinaus werden Sie untersuchen, wie Sie diesen Befehl in der Linux -Umgebung verwenden können.

Voraussetzungen

Sie müssen sich als Root -Benutzer in Ihrem System anmelden oder Sudo -Befehlsberechtigungen haben.

Wir haben alle Aufgaben auf Ubuntu 20 ausgeführt.04 System, das unten erwähnt wird:

Listen Sie die Öffnungsdateien mit dem Befehl LSOF auf

Sie können alle geöffneten Dateien mit einer vollständigen Beschreibung mit dem Befehl LSOF auflisten.

# lsof


Zum Beispiel haben wir hier einige offene Dateien für Ihr besseres Verständnis aufgelistet. Im folgenden Screenshot sehen Sie die Informationen in Form von Spalten wie Befehl, PID, Benutzer, FD, Typ usw.

Erklären wir jeden Begriff nacheinander. In der ersten Spalte wird der Befehl für den Befehlsnamen verwendet. PID zeigt die Prozess -ID. Unter der Spalte namens Benutzer sehen Sie den Benutzer -Rollentyp oder -namen. Die oben genannten Werte im Bild sind selbsterklärend. Wir werden jedoch die Spalten vom Typ und FD überprüfen.

FD wird für einen Dateideskriptor verwendet, der einige Werte hat als:

  • CWD - Repräsentiert das aktuelle Arbeitsverzeichnis.
  • Rtd - Zeigt das Stammverzeichnis an
  • txt - Wird für Programmcode und Textdaten verwendet
  • Mem - Wird für die von Speicher-abgebildete Datei verwendet
  • 1U - Dateideskriptor u für das Lesen und Schreibmodus, W für den Schreibmodus und R für den Lesemodus verwendet.

Die Spalte Typtyp enthält alle Dateien und Identifikationen mithilfe von Schlüsselwörtern. Dir bedeutet Verzeichnis. Reg repräsentiert die reguläre Datei. CHR wird für Zeichenspezialendateien verwendet. FIFO bedeutet zuerst in erster Stelle.

Listen Sie benutzerspezifische Dateien mit dem Befehl LSOF auf

Wenn wir beispielsweise alle geöffneten Dateien des Benutzernamens Kbuzdar auflisten möchten, können Sie dies mit dem folgenden Befehl tun:

$ sudo lsof -u kbuzdar

Suchprozesse, die an einem bestimmten Port arbeiten

Sie können diese Dateien durchsuchen oder verarbeitet, die auf einer bestimmten Portnummer ausgeführt werden. Zu diesem Zweck müssen Sie nur den folgenden Befehl mit -I -Option verwenden und eine bestimmte Portnummer eingeben.

# LSOF -i TCP: 22

Wenn Sie alle geöffneten Dateien auflisten möchten, die über Prozesse des TCP-Ports ausgeführt werden, die zwischen 1-1024 liegen, führen Sie den folgenden Befehl aus:

# LSOF -i TCP: 1-1024

Zeigen Sie die Öffnungsdateien nur für IPv4 und IPv6 an

Beispielsweise möchten Sie nur IPv4- und IPv6 -Netzwerkdateien anzeigen. Führen Sie den folgenden Befehl aus, um Dateien für IPv4 im Terminalfenster zu öffnen:

# lsof -i 4

Verwenden Sie für IPv6 den folgenden Befehl:

# lsof -i 6

Dateien anzeigen, indem Sie bestimmte Benutzer ausschließen

Wenn Sie einen Root -Benutzer ausschließen möchten, können Sie einen Root -Benutzer ausschließen, indem Sie das Zeichen '^' mit dem Befehl verwenden, der im folgenden Screenshot angezeigt wird:

# lsof -i -u^Wurzel


Sie können einen bestimmten Benutzer mit seinem Namen ausschließen.

# lsof -i -u^kbuzdar

Zeigen Sie alle Netzwerkverbindungen mit dem Befehl LSOF an

Geben Sie den folgenden LSOF -Befehl mit Option -i ein, um die Liste aller Netzwerkverbindungen anzuzeigen:

# lsof -i

Suchprozess durch PID

Im folgenden Beispiel zeigt nur diese Dateien oder Prozesse an, deren PID 2 ist [zwei].

# LSOF -P 2

Töten Sie bestimmte Benutzeraktivitäten

Manchmal benötigen Sie möglicherweise bestimmte Benutzerprozesse. In diesem Fall können Sie durch Ausführung des folgenden Befehls alle Prozesse des Benutzer -Benutzers "Kbuzdar" abtöten.

# Kill -9 'lsof -t -u kbuzdar'

Abschluss

In diesem Artikel haben wir gesehen, wie der Befehl LSOF im Linux -System verwendet wird. Wir haben verschiedene Beispiele für ein besseres Verständnis des LSOF -Befehls implementiert. Es ist nicht möglich, alle verfügbaren Optionen auszuarbeiten, aber Sie können die Mannseite des LSOF -Befehls untersuchen, um mehr über diesen Befehl zu erhalten. Teilen Sie uns Ihr Feedback über Kommentare mit.