De Linux-tool lsof maakt snelle sys­teem­con­tro­le en pro­bleem­de­tec­tie mogelijk. Het geeft een lijst van geopende bestanden, die u met behulp van filters en opties kunt op­ti­ma­li­se­ren voor uw spe­ci­fie­ke behoeften.

Wat is Linux lsof?

Om uw Linux- systeem te monitoren en te ana­ly­se­ren, is lsof een ge­bruiks­vrien­de­lij­ke tool. Het programma, ont­wik­keld en ge­pu­bli­ceerd in 1994 door Vic Abell, is open source en maakt deel uit van de stan­daard­in­stal­la­tie van talrijke Linux-dis­tri­bu­ties, zoals Debian of Ubuntu. lsof staat voor ‘List open files’ (lijst met geopende bestanden). Het programma geeft in­for­ma­tie over be­stands­ty­pen die momenteel geopend zijn of eerder zijn geopend door actieve processen. Dit omvat reguliere bestanden, mappen, sockets, stations en poorten. Het pre­sen­teert een dui­de­lij­ke en over­zich­te­lij­ke lijst van de ver­schil­len­de processen en bij­be­ho­ren­de bestanden.

Hoe werkt Linux lsof?

Als lsof niet op uw systeem aanwezig is, in­stal­leer het dan eenvoudig met deze Linux-opdracht:

$ apt-get install lsof
bash

Na in­stal­la­tie biedt Linux lsof u een uit­ge­breid overzicht van de actieve processen op uw computer. Dit is mogelijk omdat onder Unix-achtige systemen alles als een bestand wordt behandeld. Daardoor kunt u met lsof bepalen welke processen toegang hebben tot een specifiek bestand.

Hoe ziet de Isof-syntaxis eruit?

Wilt u lsof gebruiken? Dit is de ba­sis­syn­taxis van het bij­be­ho­ren­de commando:

$ lsof [Option] <Format>
bash

Hoewel het mogelijk is om lsof zonder opties of filters te gebruiken, is dit niet aan te raden. De re­sul­te­ren­de uitvoer zou namelijk erg uit­ge­breid en moeilijk te in­ter­pre­te­ren zijn.

Welke opties en filters zijn be­schik­baar met Linux lsof?

lsof begrijpt talrijke uit­voer­op­ties. De be­lang­rijk­ste zijn:

  • -F: Deze optie zorgt ervoor dat alle re­sul­ta­ten in één kolom worden weer­ge­ge­ven.
  • -l: Met deze optie kunt u de ge­brui­kers-ID weergeven in plaats van de naam.
  • -n: Met deze optie worden de bij­be­ho­ren­de IP-adressen weer­ge­ge­ven in plaats van hostnamen.
  • -P: Hiermee worden de poort­num­mers weer­ge­ge­ven in plaats van de ser­vic­na­men.
  • -r [x]: Deze optie zorgt ervoor dat de uitvoer elke x seconden opnieuw wordt uit­ge­voerd.
  • -t: Met deze optie wordt alleen een PID-lijst (Process Iden­ti­fier) weer­ge­ge­ven.

Daarnaast kent lsof talrijke fil­ter­op­ties. De meest voor­ko­men­de zijn:

  • -a: Dit is een logische AND-bewerking in plaats van een OR-bewerking; deze wordt standaard gebruikt.
  • -c [Proces]: Zoek uit welk bestand door welk proces wordt gebruikt.
  • +D /file/user: Dit filter geeft in­for­ma­tie over een spe­ci­fie­ke map en de gebruiker ervan.
  • /dev/drive: Gebruik dit filter om een spe­ci­fie­ke schijf te con­tro­le­ren.
  • -i [TCP/UDP of al­ter­na­tief IP-adres of poort]: Geeft in­for­ma­tie over welke processen welke net­werk­dien­sten gebruiken.
  • +L1: Gebruik dit filter om in­for­ma­tie te krijgen over ver­wij­der­de bestanden.
  • +p PID: Geeft in­for­ma­tie over de bestanden die door welke PID worden gebruikt.
  • /pad/bestand: Geeft in­for­ma­tie over een specifiek bestand.
  • -u [gebruiker]: Zoek uit welke gebruiker welke bestanden gebruikt.

Waarvoor wordt Linux lsof gebruikt?

Tot slot laten we u aan de hand van enkele voor­beel­den zien hoe en waarvoor lsof wordt gebruikt.

$ lsof -u root
bash

Hiermee kunt u alle bestanden bekijken die root momenteel geopend heeft.

$ lsof /mount/path
bash

Vaak wordt lsof gebruikt om programma’s te iden­ti­fi­ce­ren die de uit­voe­ring van het mount-commando ver­hin­de­ren. Deze taak kan niet worden uit­ge­voerd als de be­tref­fen­de bestanden nog geopend zijn.

$ lsof -n -i
bash

Met dit commando kunt u alle geopende poorten weergeven.

Ga naar hoofdmenu