Linux-verktyget lsof möjliggör snabb systemö­ver­vak­ning och pro­blem­de­tek­te­ring. Det ger en lista över öppna filer, som du kan optimera efter dina specifika behov med hjälp av filter och al­ter­na­tiv.

Vad är Linux lsof?

För att övervaka och analysera ditt Linux-system är lsof ett lät­tan­vänt verktyg. Pro­gram­met, som ut­veck­la­des och pub­li­ce­ra­des 1994 av Vic Abell, är öppen källkod och ingår i stan­dardin­stal­la­tio­nen för många Linux-dis­tri­bu­tio­ner, såsom Debian eller Ubuntu. lsof står för ”List open files” (lista öppna filer). Pro­gram­met ger in­for­ma­tion om filtyper som för när­va­ran­de är öppna eller tidigare har öppnats av aktiva processer. Detta in­klu­de­rar vanliga filer, kataloger, socklar, enheter och portar. Det pre­sen­te­rar en tydlig och or­ga­ni­se­rad lista över de olika pro­ces­ser­na och till­hö­ran­de filer.

Hur fungerar Linux lsof?

Om lsof inte finns på ditt system in­stal­le­rar du det enkelt med följande Linux-kommando:

$ apt-get install lsof
bash

När Linux lsof är in­stal­le­rat kan du få en om­fat­tan­de översikt över de aktiva pro­ces­ser­na på din dator. Detta är möjligt eftersom allt behandlas som en fil i Unix-liknande system. Du kan därför använda lsof för att avgöra vilka processer som har åtkomst till en specifik fil.

Hur ser Isof-syntaxen ut?

Vill du använda lsof? Detta är den grund­läg­gan­de syntaxen för mot­sva­ran­de kommando:

$ lsof [Option] <Format>
bash

Det är möjligt att använda lsof utan al­ter­na­tiv eller filter, men det är inte att re­kom­men­de­ra. Re­sul­ta­tet skulle bli om­fat­tan­de och svårt att tolka.

Vilka al­ter­na­tiv och filter finns till­gäng­li­ga med Linux lsof?

lsof har många olika ut­da­taal­ter­na­tiv. De vik­ti­gas­te är:

  • -F: Detta al­ter­na­tiv sä­ker­stäl­ler att alla resultat visas i en enda kolumn.
  • -l: Med detta al­ter­na­tiv kan du visa användar-ID istället för namnet.
  • -n: Med detta al­ter­na­tiv visas mot­sva­ran­de IP-adresser istället för värdnamn.
  • -P: På detta sätt visas port­num­ren istället för tjänst­nam­nen.
  • -r [x]: Detta al­ter­na­tiv sä­ker­stäl­ler att ut­mat­ning­en körs igen var x:e sekund.
  • -t: Med detta al­ter­na­tiv visas endast en PID-lista (Process Iden­ti­fi­er).

Dessutom har lsof många olika fil­te­ral­ter­na­tiv. De van­li­gas­te är:

  • -a: Detta är en logisk AND-operation istället för OR-ope­ra­tio­nen; den används som standard.
  • -c [Process]: Ta reda på vilken fil som används av vilken process.
  • +D /fil/användare: Detta filter ger in­for­ma­tion om en specifik katalog och dess användare.
  • /dev/drive: Använd detta filter för att kon­trol­le­ra en specifik enhet.
  • -i [TCP/UDP eller al­ter­na­tiv IP-adress eller port]: Ger in­for­ma­tion om vilka processer som använder vilka nät­verkstjäns­ter.
  • +L1: Använd detta filter för att få in­for­ma­tion om raderade filer.
  • +p PID: Ger in­for­ma­tion om vilka filer som används av vilken PID.
  • /path/file: Ger in­for­ma­tion om en specifik fil.
  • -u [Användare]: Ta reda på vilken användare som använder vilka filer.

Vad används Linux lsof till?

Av­slut­nings­vis visar vi hur och till vad lsof används med hjälp av några exempel.

$ lsof -u root
bash

Detta låter dig se alla filer som root för när­va­ran­de har öppna.

$ lsof /mount/path
bash

Ofta används lsof för att iden­ti­fi­e­ra program som för­hind­rar att kommandot mount kan köras. Denna uppgift kan inte utföras om re­la­te­ra­de filer fort­fa­ran­de är öppna.

$ lsof -n -i
bash

Med det här kommandot kan du lista alla öppna portar.

Gå till huvudmeny