Ako vymenovať súbory a analyzovať systém pomocou Linux lsof
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 lsofbashPo 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>bashHoci 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 rootbashTýmto môžete zobraziť všetky súbory, ktoré root momentálne drží otvorené.
$ lsof /mount/pathbashLsof 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 -ibashTento príkaz vám umožňuje zobraziť zoznam všetkých otvorených portov.