Sådan viser du en liste over filer og analyserer dit system med Linux-kommandoen lsof
Linux-værktøjet lsof gør det muligt at overvåge systemet og opdage problemer hurtigt. Det viser en liste over åbne filer, som du kan tilpasse til dine specifikke behov ved hjælp af filtre og indstillinger.
Hvad er Linux lsof?
lsof er et brugervenligt værktøj til overvågning og analyse af dit Linux-system. Programmet, der blev udviklet og udgivet i 1994 af Vic Abell, er open source og indgår som standard i mange Linux-distributioner, såsom Debian eller Ubuntu. lsof står for »List open files«. Programmet giver oplysninger om filtyper, der i øjeblikket er åbne eller tidligere er blevet åbnet af kørende processer. Dette omfatter almindelige filer, mapper, sockets, drev og porte. Det præsenterer en overskuelig og velorganiseret liste over de forskellige processer og tilhørende filer.
Hvordan fungerer Linux lsof?
Hvis lsof ikke findes på dit system, skal du blot installere det med denne Linux-kommando:
$ apt-get install lsofbashNår Linux lsof er installeret, giver det dig mulighed for at få et omfattende overblik over de aktive processer på din computer. Dette er muligt, fordi alt i Unix-lignende systemer behandles som en fil. Derfor kan du bruge lsof til at finde ud af, hvilke processer der har adgang til en bestemt fil.
Hvordan ser Isof-syntaksen ud?
Vil du bruge lsof? Her er den grundlæggende syntaks for den pågældende kommando:
$ lsof [Option] <Format>bashSelvom det er muligt at bruge lsof uden indstillinger eller filtre, frarådes det. Den resulterende udskrift vil være meget omfattende og vanskelig at forstå.
Hvilke indstillinger og filtre findes der i Linux lsof?
lsof understøtter en lang række outputmuligheder. De vigtigste er:
- -F: Denne indstilling sikrer, at alle resultater vises i én kolonne.
- -l: Denne indstilling lader dig vise bruger-ID’et i stedet for navnet.
- -n: Med denne indstilling vises de tilhørende IP-adresser i stedet for værtsnavne.
- -P: Sådan vises portnumrene i stedet for tjenestenavnene.
- -r [x]: Denne indstilling sikrer, at udskriften genudføres hvert x. sekund.
- -t: Med denne indstilling vises kun en liste over PID’er (Process Identifier).
Derudover har lsof en lang række filtreringsmuligheder. De mest almindelige er:
- -a: Dette er en logisk AND-operation i stedet for en OR-operation; den bruges som standard.
- -c [Process]: Find ud af, hvilken fil der bruges af hvilken proces.
- +D /fil/bruger: Dette filter giver oplysninger om et bestemt bibliotek og dets bruger.
- /dev/drev: Brug dette filter til at kontrollere et bestemt drev.
- -i [TCP/UDP eller alternativ IP-adresse eller port]: Giver oplysninger om, hvilke processer der bruger hvilke netværkstjenester.
- +L1: Brug dette filter til at få oplysninger om slettede filer.
- +p PID: Giver oplysninger om, hvilke filer der bruges af hvilken PID.
- /path/file: Giver oplysninger om en bestemt fil.
- -u [Bruger]: Find ud af, hvilken bruger der bruger hvilke filer.
Hvad bruges Linux lsof til?
Afslutningsvis vil vi ved hjælp af nogle eksempler vise dig, hvordan og til hvad lsof bruges.
$ lsof -u rootbashPå denne måde kan du se alle de filer, som root har åbne i øjeblikket.
$ lsof /mount/pathbashOfte bruges lsof til at identificere programmer, der forhindrer udførelsen af kommandoen mount. Denne opgave kan ikke udføres, hvis de pågældende filer stadig er åbne.
$ lsof -n -ibashMed denne kommando kan du få vist en liste over alle åbne porte.