Hier sind 41 Beispiele, die verschiedene Verwendungen des Linux-Befehls lsof zeigen:
Grundlegende Verwendung:
1. „lsof“:Listet alle geöffneten Dateien auf dem System auf, einschließlich ihrer Prozess-ID (PID), Dateideskriptor, Dateipfad und anderen Details.
2. „lsof “:Listet alle Dateien auf, die von einem bestimmten Prozess mit der angegebenen PID geöffnet wurden.
Auflisten spezifischer Dateiinformationen:
3. „lsof -a “:Listet alle Prozesse auf, die auf die angegebene Datei zugreifen.
4. „lsof -p -a “:Prüft, ob eine bestimmte Datei von einem bestimmten Prozess geöffnet ist.
5. „lsof -c “:Listet alle geöffneten Dateien für Prozesse mit dem angegebenen Namen auf.
Ausgabe filtern:
6. „lsof -w “:Listet nur Prozesse mit geöffneten Dateien auf, die dem angegebenen Muster entsprechen.
7. „lsof -F “:Filtert die Ausgabe basierend auf dem Typ des Dateideskriptors (z. B. f für reguläre Dateien, d für Verzeichnisse, p für Pipes).
8. „lsof -i :“:Filtert Prozesse, die eine bestimmte IP-Adresse und einen bestimmten Port überwachen.
9. „lsof -s “:Filtert Prozesse basierend auf ihrem aktuellen Status (z. B. R für Laufen, S für Schlafen).
Ausgabe sortieren und begrenzen:
10. „lsof -g “:Gruppiert geöffnete Dateien nach Dateigröße oder Prozess-ID, abhängig von der angegebenen Gruppe.
11. `lsof -l `:Begrenzt die Ausgabe auf die angegebene Anzahl von Zeilen.
12. „lsof -L “:Sortiert die Ausgabe nach einer bestimmten Spalte (z. B. PID, BEFEHL, GRÖSSE, FD, MODUS, TYP).
Besondere Optionen:
13. „lsof -h“:Zeigt das Hilfemenü mit detaillierten Informationen zu allen verfügbaren Optionen an.
14. „lsof -n “:Löst keine numerischen Adressen oder Portnummern auf.
15. „lsof -R“:Listet alle geöffneten Dateien rekursiv auf und folgt dabei symbolischen Links und Geräten.
16. „lsof -P“:Zeigt Prozessinformationen (PID, PPID, COMMAND) in der Ausgabe an.
17. „lsof -u “:Filtert Prozesse basierend auf dem Benutzer, dem sie gehören.
Weitere nützliche Befehle:
18. „lsof -i :8080 -n -P“:Listet alle Prozesse auf, die Port 8080 überwachen, einschließlich ihrer PIDs, übergeordneten PIDs und Befehle.
19. `lsof -a \| grep `:Durchsucht die Ausgabe von lsof nach einer bestimmten Textzeichenfolge.
20. „lsof -u root -t “:Findet die PID eines Befehls, der als Root-Benutzer ausgeführt wird.
21. „lsof -R /tmp/file -f“:Listet alle geöffneten Dateien im Verzeichnis /tmp/file auf, gefolgt von Symlinks und Geräten.
Erweiterte Filterung:
22. „lsof -i TCP:LISTEN -c “:Filtert überwachende TCP-Verbindungen für ein bestimmtes Programm.
23. „lsof +c 0 -d 10“:Listet Prozesse mit geöffnetem Dateideskriptor 10 auf.
24. „lsof +r1 -n +a“:Listet Prozesse auf, die offene Dateien mit Lese- und Schreibzugriff haben, und enthält deren IP-Adressen.
25. „lsof -u none -g pid“:Gruppiert Prozesse nach PID und filtert nach Prozessen, die dem Benutzer „nobody“ gehören.
Kombinieren von lsof mit anderen Befehlen:
26. `lsof | head`:Zeigt die ersten paar Zeilen der Ausgabe an.
27. `lsof -u root -t sshd -F p \| top -b -p`:Kombiniert lsof- und top-Befehle, um Prozesse zu finden und zu sortieren, die dem Root-Benutzer gehören, der den sshd-Daemon ausführt, und zeigt sie dann in einer Top-ähnlichen Oberfläche an.
28. `lsof | grep | wc -l`:Zählt die Anzahl der Prozesse mit dem angegebenen Namen.
29. `lsof -i :22 -c sshd | tr -s ' ' "\n" \| uniq -c`:Zählt eindeutige Kombinationen von IP-Adressen und Ports, die von sshd verwendet werden.
Echtzeitüberwachung:
30. `watch -c lsof -F p | grep httpd`:Überwacht kontinuierlich Prozesse mit offenen Ports, die vom httpd-Prozess verwendet werden.
31. `watch -g "lsof +e -u root -F n -l 10" -s 5`:Überwacht neue Dateien, die vom Root-Benutzer geöffnet werden, und aktualisiert die Ausgabe alle 5 Sekunden.
Verschiedenes:
32. „lsof -l -w *:8080“:Listet überwachende TCP-Verbindungen auf Port 8080 zusammen mit ihren Dateideskriptoren auf.
33. „lsof -n +i@ -P“:Listet Prozesse mit offenen Netzwerkverbindungen auf, einschließlich ihrer PIDs, PPIDs und Befehle.
34. „lsof -E -a +t“:Zeigt erweiterte Informationen zu geöffneten Dateien eines bestimmten Programms an, einschließlich Zugriffsrechten und Flags.
35. `lsof -c cron|awk '{ print $1,$9 }'`:Extrahiert PIDs und offene Dateinamen für Prozesse, die vom Cron-Daemon gestartet wurden.
36. `lsof -a -d3 \| egrep 'deleted'`:Sucht nach Dateien, die gelöscht wurden, aber noch offene Dateihandles haben.
Zusätzliche Optionen:
37. „lsof -k“:Kernelbasierte Auflistung (erfordert Root-Rechte).
38. „lsof -o“:Systemaufrufinformationen aus der Ausgabe weglassen.
39. „lsof -S
“:Wählen Sie den anzuzeigenden Statistiktyp aus (z. B. speicherbezogen, Datei-E/A usw.).
40. „lsof -t “:Informationen nur zur angegebenen PID auflisten, einschließlich erweiterter Dateiattribute.
41. „lsof -x “:Prozesse ausschließen, bei denen die angegebene Datei nicht geöffnet ist.
Diese Beispiele veranschaulichen verschiedene Möglichkeiten, den Befehl lsof zum Identifizieren und Überwachen geöffneter Dateien, Prozesse und Netzwerkverbindungen zu verwenden, was ihn zu einem vielseitigen Tool für die Fehlerbehebung im System, Sicherheitsanalysen und Leistungsoptimierungsaufgaben macht.