Her er 41 eksempler, der viser forskellige anvendelser af Linux lsof-kommandoen:
Grundlæggende brug:
1. `lsof`:Viser alle åbne filer på systemet, inklusive deres proces-id (PID), filbeskrivelse, filsti og andre detaljer.
2. `lsof `:Viser alle filer åbnet af en specifik proces med det givne PID.
Angivelse af specifikke filoplysninger:
3. `lsof -a `:Viser alle processer, der har adgang til den angivne fil.
4. `lsof -p -a `:Kontrollerer om en bestemt fil er åben ved en bestemt proces.
5. `lsof -c `:Viser alle åbne filer for processer med det givne navn.
Filtreringsoutput:
6. `lsof -w `:Viser kun processer med åbne filer, der matcher det angivne mønster.
7. `lsof -F `:Filtrerer output baseret på typen af filbeskrivelse (f.eks. f for almindelige filer, d for mapper, p for pipes).
8. `lsof -i :`:Filtrerer processer, der lytter på en bestemt IP-adresse og port.
9. `lsof -s `:Filtrerer processer baseret på deres aktuelle tilstand (f.eks. R for at køre, S for at sove).
Sortering og begrænsning af output:
10. `lsof -g `:Grupperer åbne filer efter filstørrelse eller proces-id, afhængigt af den angivne gruppe.
11. `lsof -l `:Begrænser output til det angivne antal linjer.
12. `lsof -L `:Sorterer output efter en specifik kolonne (f.eks. PID, COMMAND, SIZE, FD, MODE, TYPE).
Særlige muligheder:
13. `lsof -h`:Viser hjælpemenuen med detaljeret information om alle tilgængelige muligheder.
14. `lsof -n `:Løser ikke numeriske adresser eller portnumre.
15. `lsof -R`:Lister rekursivt alle åbne filer efter symbolske links og enheder.
16. `lsof -P`:Viser procesinformation (PID, PPID, COMMAND) i outputtet.
17. `lsof -u `:Filtrerer processer baseret på den bruger, der ejer dem.
Andre nyttige kommandoer:
18. `lsof -i :8080 -n -P`:Viser alle processer, der lytter på port 8080, inklusive deres PID'er, overordnede PID'er og kommandoer.
19. `lsof -a \| grep `:Søger output fra lsof efter en specifik tekststreng.
20. `lsof -u root -t `:Finder PID'et for en kommando, der kører som root-brugeren.
21. `lsof -R /tmp/file -f`:Viser alle åbne filer i mappen /tmp/file efter symbollinks og enheder.
Avanceret filtrering:
22. `lsof -i TCP:LISTEN -c `:Filtrerer lyttende TCP-forbindelser for et specifikt program.
23. `lsof +c 0 -d 10`:Viser processer med fildeskriptor 10 åben.
24. `lsof +r1 -n +a`:Viser processer, der har åbne filer med læse- og skriveadgang, og inkluderer deres IP-adresser.
25. `lsof -u nobody -g pid`:Grupperer processer efter PID, filtrerer efter processer, der ejes af brugeren "ingen".
Kombinering af lsof med andre kommandoer:
26. `lsof | head`:Viser de første par linjer i outputtet.
27. `lsof -u root -t sshd -F p \| top -b -p`:Kombinerer lsof- og topkommandoer for at finde og sortere processer, der ejes af root-brugeren, der kører sshd-dæmonen, og viser dem derefter i en toplignende grænseflade.
28. `lsof | grep | wc -l`:Tæller antallet af processer med det angivne navn.
29. `lsof -i :22 -c sshd | tr -s ' ' "\n" \| uniq -c`:Tæller unikke kombinationer af IP-adresser og porte brugt af sshd.
Overvågning i realtid:
30. `watch -c lsof -F p | grep httpd`:Overvåger løbende processer med åbne porte, der bruges af httpd-processen.
31. `watch -g "lsof +e -u root -F n -l 10" -s 5`:Holder øje med nye filer åbnet af root-brugeren, og opdaterer output hvert 5. sekund.
Diverse:
32. `lsof -l -w *:8080`:Viser lyttende TCP-forbindelser på port 8080 sammen med deres filbeskrivelser.
33. `lsof -n +i@ -P`:Viser processer med åbne netværksforbindelser, inklusive deres PID'er, PPID'er og kommandoer.
34. `lsof -E -a +t`:Viser udvidet information om åbne filer i et specifikt program, inklusive adgangsrettigheder og flag.
35. `lsof -c cron|awk '{ print $1,$9 }'`:Uddrager PID'er og åbne filnavne for processer startet af cron-dæmonen.
36. `lsof -a -d3 \| egrep 'deleted'`:Søger efter filer, der er blevet slettet, men som stadig har åbne filhåndtag.
Yderligere indstillinger:
37. `lsof -k`:Kernel-baseret liste (kræver root-privilegier).
38. `lsof -o`:Udelad systemopkaldsinformation fra output.
39. `lsof -S `:Vælg den type statistik, der skal vises (f.eks. hukommelsesrelateret, fil I/O osv.).
40. `lsof -t `:Liste oplysninger om kun den specificerede PID, inklusive udvidede filattributter.
41. `lsof -x `:Ekskluder processer, der ikke har den givne fil åben.
Disse eksempler illustrerer forskellige måder at bruge lsof-kommandoen til at identificere og overvåge åbne filer, processer og netværksforbindelser, hvilket gør det til et alsidigt værktøj til systemfejlfinding, sikkerhedsanalyse og ydeevneoptimeringsopgaver.