Hur man listar filer och analyserar ditt system med Linux lsof
Linux-verktyget lsof möjliggör snabb systemövervakning och problemdetektering. Det ger en lista över öppna filer, som du kan optimera efter dina specifika behov med hjälp av filter och alternativ.
Vad är Linux lsof?
För att övervaka och analysera ditt Linux-system är lsof ett lättanvänt verktyg. Programmet, som utvecklades och publicerades 1994 av Vic Abell, är öppen källkod och ingår i standardinstallationen för många Linux-distributioner, såsom Debian eller Ubuntu. lsof står för ”List open files” (lista öppna filer). Programmet ger information om filtyper som för närvarande är öppna eller tidigare har öppnats av aktiva processer. Detta inkluderar vanliga filer, kataloger, socklar, enheter och portar. Det presenterar en tydlig och organiserad lista över de olika processerna och tillhörande filer.
Hur fungerar Linux lsof?
Om lsof inte finns på ditt system installerar du det enkelt med följande Linux-kommando:
$ apt-get install lsofbashNär Linux lsof är installerat kan du få en omfattande översikt över de aktiva processerna 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 grundläggande syntaxen för motsvarande kommando:
$ lsof [Option] <Format>bashDet är möjligt att använda lsof utan alternativ eller filter, men det är inte att rekommendera. Resultatet skulle bli omfattande och svårt att tolka.
Vilka alternativ och filter finns tillgängliga med Linux lsof?
lsof har många olika utdataalternativ. De viktigaste är:
- -F: Detta alternativ säkerställer att alla resultat visas i en enda kolumn.
- -l: Med detta alternativ kan du visa användar-ID istället för namnet.
- -n: Med detta alternativ visas motsvarande IP-adresser istället för värdnamn.
- -P: På detta sätt visas portnumren istället för tjänstnamnen.
- -r [x]: Detta alternativ säkerställer att utmatningen körs igen var x:e sekund.
- -t: Med detta alternativ visas endast en PID-lista (Process Identifier).
Dessutom har lsof många olika filteralternativ. De vanligaste är:
- -a: Detta är en logisk AND-operation istället för OR-operationen; 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 information om en specifik katalog och dess användare.
- /dev/drive: Använd detta filter för att kontrollera en specifik enhet.
- -i [TCP/UDP eller alternativ IP-adress eller port]: Ger information om vilka processer som använder vilka nätverkstjänster.
- +L1: Använd detta filter för att få information om raderade filer.
- +p PID: Ger information om vilka filer som används av vilken PID.
- /path/file: Ger information om en specifik fil.
- -u [Användare]: Ta reda på vilken användare som använder vilka filer.
Vad används Linux lsof till?
Avslutningsvis visar vi hur och till vad lsof används med hjälp av några exempel.
$ lsof -u rootbashDetta låter dig se alla filer som root för närvarande har öppna.
$ lsof /mount/pathbashOfta används lsof för att identifiera program som förhindrar att kommandot mount kan köras. Denna uppgift kan inte utföras om relaterade filer fortfarande är öppna.
$ lsof -n -ibashMed det här kommandot kan du lista alla öppna portar.