Hier zijn 41 voorbeelden die verschillende toepassingen van de Linux lsof-opdracht laten zien:
Basisgebruik:
1. `lsof`:Geeft een overzicht van alle geopende bestanden op het systeem, inclusief hun proces-ID (PID), bestandsdescriptor, bestandspad en andere details.
2. `lsof `:Geeft een overzicht van alle bestanden die door een specifiek proces zijn geopend met de opgegeven PID.
Specifieke bestandsinformatie weergeven:
3. `lsof -a `:Geeft een overzicht van alle processen die toegang hebben tot het opgegeven bestand.
4. `lsof -p -a `:Controleert of een bepaald bestand geopend is door een specifiek proces.
5. `lsof -c `:Geeft een overzicht van alle geopende bestanden voor processen met de opgegeven naam.
Uitvoer filteren:
6. `lsof -w `:Geeft alleen processen weer met geopende bestanden die overeenkomen met het opgegeven patroon.
7. `lsof -F `:Filtert de uitvoer op basis van het type bestandsdescriptor (bijvoorbeeld f voor gewone bestanden, d voor mappen, p voor pipelines).
8. `lsof -i :`:Filtert processen die luisteren naar een bepaald IP-adres en poort.
9. `lsof -s `:Filtert processen op basis van hun huidige status (bijvoorbeeld R voor actief, S voor slapen).
Uitvoer sorteren en beperken:
10. `lsof -g
`:Groepeert geopende bestanden op bestandsgrootte of proces-ID, afhankelijk van de opgegeven groep.
11. `lsof -l `:Beperkt de uitvoer tot het opgegeven aantal regels.
12. `lsof -L `:Sorteert uitvoer op een specifieke kolom (bijv. PID, COMMAND, SIZE, FD, MODE, TYPE).
Speciale opties:
13. `lsof -h`:Toont het helpmenu met gedetailleerde informatie over alle beschikbare opties.
14. `lsof -n `:Herleidt geen numerieke adressen of poortnummers.
15. `lsof -R`:somt recursief alle geopende bestanden op, waarbij symbolische koppelingen en apparaten worden gevolgd.
16. `lsof -P`:Toont procesinformatie (PID, PPID, COMMAND) in de uitvoer.
17. `lsof -u `:Filtert processen op basis van de gebruiker die de eigenaar is.
Andere nuttige opdrachten:
18. `lsof -i :8080 -n -P`:Geeft een overzicht van alle processen die luisteren op poort 8080, inclusief hun PID's, bovenliggende PID's en opdrachten.
19. `lsof -a \| grep `:Zoekt in de uitvoer van lsof naar een specifieke tekstreeks.
20. `lsof -u root -t `:Vindt de PID van een opdracht die wordt uitgevoerd als rootgebruiker.
21. `lsof -R /tmp/file -f`:Geeft een overzicht van alle geopende bestanden in de directory /tmp/file, volgens symlinks en apparaten.
Geavanceerd filteren:
22. `lsof -i TCP:LISTEN -c `:Filtert luisterende TCP-verbindingen voor een specifiek programma.
23. `lsof +c 0 -d 10`:Geeft processen weer met bestandsdescriptor 10 open.
24. `lsof +r1 -n +a`:Geeft een overzicht van processen die open bestanden hebben met lees- en schrijftoegang, en bevat hun IP-adressen.
25. `lsof -u Nobody -g pid`:Groepeert processen op PID, waarbij wordt gefilterd op processen die eigendom zijn van de gebruiker "nobody."
Lsof combineren met andere opdrachten:
26. `lsof | head`:Toont de eerste paar regels van de uitvoer.
27. `lsof -u root -t sshd -F p \| top -b -p`:Combineert lsof- en top-opdrachten om processen te vinden en te sorteren die eigendom zijn van de rootgebruiker die de sshd-daemon uitvoert, en geeft ze vervolgens weer in een top-achtige interface.
28. `lsof | grep | wc -l`:Telt het aantal processen met de opgegeven naam.
29. `lsof -i :22 -c sshd | tr -s ' ' "\n" \| uniq -c`:Telt unieke combinaties van IP-adressen en poorten die door sshd worden gebruikt.
Realtime monitoring:
30. `bekijk -c lsof -F p | grep httpd`:Bewaakt continu processen met open poorten die worden gebruikt door het httpd-proces.
31. `watch -g "lsof +e -u root -F n -l 10" -s 5`:Controleert op nieuwe bestanden die door de rootgebruiker zijn geopend, waarbij de uitvoer elke 5 seconden wordt vernieuwd.
Diversen:
32. `lsof -l -w *:8080`:Geeft een overzicht van luisterende TCP-verbindingen op poort 8080, samen met hun bestandsdescriptors.
33. `lsof -n +i@ -P`:Geeft een overzicht van processen met open netwerkverbindingen, inclusief hun PID's, PPID's en opdrachten.
34. `lsof -E -a +t`:Toont uitgebreide informatie over geopende bestanden van een specifiek programma, inclusief toegangsrechten en vlaggen.
35. `lsof -c cron|awk '{ print $1,$9 }'`:Extraheert PID's en opent bestandsnamen voor processen die zijn gestart door de cron-daemon.
36. `lsof -a -d3 \| egrep 'deleted'`:Zoekt naar bestanden die zijn verwijderd maar nog steeds open bestandshandvatten hebben.
Extra opties:
37. `lsof -k`:Kernel-gebaseerde lijst (vereist rootrechten).
38. `lsof -o`:Laat systeemaanroepinformatie weg uit de uitvoer.
39. `lsof -S `:Selecteer het type statistieken dat u wilt weergeven (bijvoorbeeld geheugengerelateerd, bestands-I/O, enz.).
40. `lsof -t `:Lijstinformatie over alleen de opgegeven PID, inclusief uitgebreide bestandskenmerken.
41. `lsof -x `:sluit processen uit waarvoor het opgegeven bestand niet geopend is.
Deze voorbeelden illustreren verschillende manieren waarop u de opdracht lsof kunt gebruiken om geopende bestanden, processen en netwerkverbindingen te identificeren en te bewaken, waardoor het een veelzijdig hulpmiddel wordt voor het oplossen van systeemproblemen, beveiligingsanalyses en taken voor prestatie-optimalisatie. |