Nástroj Linuxu, lsof, umožňuje rýchle monitorovanie systému a detekciu problémov. Poskytuje zoznam otvorených súborov, ktorý môžete pomocou filtrov a možností optimalizovať pre svoje konkrétne potreby.

Čo je Linux lsof?

Na monitorovanie a analýzu vášho systému Linux je lsof jednoduchým nástrojom. Program, ktorý v roku 1994 vyvinul a publikoval Vic Abell, je open source a je súčasťou štandardnej inštalácie mnohých distribúcií Linuxu, ako napríklad Debian alebo Ubuntu. lsof je skratka pre „List open files“ (zoznam otvorených súborov). Program poskytuje informácie o typoch súborov, ktoré sú aktuálne otvorené alebo boli predtým otvorené spustenými procesmi. Patrí sem bežné súbory, adresáre, sokety, disky a porty. Zobrazuje prehľadný a organizovaný zoznam rôznych procesov a súvisiacich súborov.

Ako funguje Linux lsof?

Ak lsof nie je vo vašom systéme prítomný, jednoducho ho nainštalujte pomocou tohto príkazu Linuxu:

$ apt-get install lsof
bash

Po inštalácii vám Linux lsof umožňuje získať komplexný prehľad o aktívnych procesoch vo vašom počítači. Je to možné, pretože v systémoch typu Unix sa všetko považuje za súbor. Vďaka tomu môžete pomocou lsof zistiť, ktoré procesy majú prístup k určitému súboru.

Ako vyzerá syntax Isof?

Chcete použiť lsof? Toto je základná syntax príslušného príkazu:

$ lsof [Option] <Format>
bash

Hoci je možné používať lsof bez volieb alebo filtrov, nie je to odporúčané. Výsledný výstup by bol rozsiahly a ťažko interpretovateľný.

Aké možnosti a filtre sú k dispozícii v programe Linux lsof?

lsof rozumie mnohým výstupným možnostiam. Najdôležitejšie z nich sú:

  • -F: Táto voľba zabezpečuje, že všetky výsledky budú zobrazené v jednom stĺpci.
  • -l: Táto voľba umožňuje zobraziť ID používateľa namiesto mena.
  • -n: Pomocou tejto možnosti sa namiesto názvov hostiteľov zobrazia príslušné IP adresy.
  • -P: Takto sa zobrazujú čísla portov namiesto názvov služieb.
  • -r [x]: Táto voľba zabezpečuje, že výstup sa opakuje každých x sekúnd.
  • -t: S touto voľbou sa zobrazí iba zoznam PID (identifikátor procesu).

Okrem toho lsof pozná množstvo filtrovacích možností. Najbežnejšie z nich sú:

  • -a: Ide o logickú operáciu AND namiesto operácie OR; používa sa ako predvolená.
  • -c [Proces]: Zistite, ktorý súbor používa ktorý proces.
  • +D /file/user: Tento filter poskytuje informácie o konkrétnom adresári a jeho používateľovi.
  • /dev/drive: Použite tento filter na kontrolu konkrétneho disku.
  • -i [TCP/UDP alebo alternatívna IP adresa alebo port]: Poskytuje informácie o tom, ktoré procesy používajú ktoré sieťové služby.
  • +L1: Tento filter použite na získanie informácií o odstránených súboroch.
  • +p PID: Poskytuje informácie o súboroch používaných konkrétnym PID.
  • /path/file: Poskytuje informácie o konkrétnom súbore.
  • -u [Používateľ]: Zistite, ktorý používateľ používa ktoré súbory.

Na čo sa používa Linux lsof?

Na záver vám na niekoľkých príkladoch ukážeme, ako a na čo sa lsof používa.

$ lsof -u root
bash

Týmto môžete zobraziť všetky súbory, ktoré root momentálne drží otvorené.

$ lsof /mount/path
bash

Lsof sa často používa na identifikáciu programov, ktoré bránia vykonaniu príkazu mount. Túto úlohu nie je možné vykonať, ak sú súvisiace súbory stále otvorené.

$ lsof -n -i
bash

Tento príkaz vám umožňuje zobraziť zoznam všetkých otvorených portov.

Prejsť na hlavné menu