Slik viser du en liste over filer og analyserer systemet ditt med Linux-kommandoen lsof
Linux-verktøyet lsof gjør det mulig å overvåke systemet og oppdage problemer på en rask måte. Det gir en oversikt over åpne filer, slik at du kan tilpasse den til dine spesifikke behov ved hjelp av filtre og alternativer.
Hva er Linux lsof?
For å overvåke og analysere Linux-systemet ditt er lsof et brukervennlig verktøy. Programmet, som ble utviklet og utgitt i 1994 av Vic Abell, er åpen kildekode og inngår i standardinstallasjonen for mange Linux-distribusjoner, som for eksempel Debian eller Ubuntu. lsof står for «List open files». Programmet gir informasjon om filtyper som er åpne for øyeblikket eller som tidligere har vært åpnet av kjørende prosesser. Dette inkluderer vanlige filer, kataloger, sokler, stasjoner og porter. Det presenterer en oversiktlig og organisert liste over de ulike prosessene og tilhørende filer.
Hvordan fungerer Linux lsof?
Hvis lsof ikke finnes på systemet ditt, kan du ganske enkelt installere det med denne Linux-kommandoen:
$ apt-get install lsofbashNår Linux lsof er installert, gir det deg en fullstendig oversikt over de aktive prosessene på datamaskinen din. Dette er mulig fordi alt behandles som en fil i Unix-lignende systemer. Dermed kan du bruke lsof til å finne ut hvilke prosesser som har tilgang til en bestemt fil.
Hvordan ser Isof-syntaksen ut?
Vil du bruke lsof? Her er den grunnleggende syntaksen for den tilhørende kommandoen:
$ lsof [Option] <Format>bashSelv om det er mulig å bruke lsof uten alternativer eller filtre, er det ikke tilrådelig. Utdataene vil da bli svært omfattende og vanskelige å tolke.
Hvilke alternativer og filtre er tilgjengelige i Linux lsof?
lsof støtter en rekke utdataalternativer. De viktigste er:
- -F: Dette alternativet sørger for at alle resultatene vises i én kolonne.
- -l: Dette alternativet lar deg vise bruker-ID i stedet for navnet.
- -n: Ved å bruke dette alternativet vises de tilhørende IP-adressene i stedet for vertsnavnene.
- -P: Dette er hvordan portnumrene vises i stedet for tjenestenavnene.
- -r [x]: Dette alternativet sørger for at utdataene kjøres på nytt hvert x. sekund.
- -t: Med dette alternativet vises kun en PID-liste (prosessidentifikator).
I tillegg har lsof en rekke filteralternativer. De vanligste er:
- -a: Dette er en logisk OG-operasjon i stedet for en ELLER-operasjon; den brukes som standard.
- -c [Prosess]: Finn ut hvilken fil som brukes av hvilken prosess.
- +D /fil/bruker: Dette filteret gir informasjon om en bestemt katalog og brukeren av den.
- /dev/drive: Bruk dette filteret til å sjekke en bestemt stasjon.
- -i [TCP/UDP eller alternativ IP-adresse eller port]: Gir informasjon om hvilke prosesser som bruker hvilke nettverkstjenester.
- +L1: Bruk dette filteret for å få informasjon om slettede filer.
- +p PID: Gir informasjon om hvilke filer som brukes av hvilken PID.
- /path/file: Gir informasjon om en bestemt fil.
- -u [Bruker]: Finn ut hvilken bruker som bruker hvilke filer.
Hva brukes Linux lsof til?
Avslutningsvis skal vi vise deg hvordan og til hvilke formål lsof brukes, ved hjelp av noen eksempler.
$ lsof -u rootbashDette lar deg se alle filene som root har åpne for øyeblikket.
$ lsof /mount/pathbashOfte brukes lsof til å identifisere programmer som hindrer utførelsen av kommandoen mount. Denne oppgaven kan ikke utføres hvis tilhørende filer fortsatt er åpne.
$ lsof -n -ibashMed denne kommandoen kan du vise en liste over alle åpne porter.