Nástroj lsof pro Linux umožňuje rychlé monitorování systému a detekci problémů. Poskytuje seznam otevřených souborů, který můžete pomocí filtrů a možností optimalizovat podle svých konkrétních potřeb.

Co je Linux lsof?

Pro monitorování a analýzu vašeho systému Linux je lsof snadno použitelným nástrojem. Tento program, vyvinutý a vydaný v roce 1994 Vicem Abellem, je open source a je součástí standardní instalace mnoha distribucí Linuxu, jako jsou Debian nebo Ubuntu. lsof je zkratka pro „List open files“ (Seznam otevřených souborů). Program poskytuje informace o typech souborů, které jsou aktuálně otevřené nebo byly dříve otevřené spuštěnými procesy. Patří sem běžné soubory, adresáře, sokety, disky a porty. Zobrazuje přehledný a uspořádaný seznam různých procesů a souvisejících souborů.

Jak funguje Linux lsof?

Pokud lsof ve vašem systému není, jednoduše jej nainstalujte pomocí tohoto příkazu pro Linux:

$ apt-get install lsof
bash

Po instalaci vám Linux lsof umožní získat komplexní přehled o aktivních procesech ve vašem počítači. To je možné, protože v systémech typu Unix je vše považováno za soubor. Díky tomu můžete pomocí lsof určit, které procesy mají přístup k určitému souboru.

Jak vypadá syntaxe Isof?

Chcete použít lsof? Toto je základní syntaxe odpovídajícího příkazu:

$ lsof [Option] <Format>
bash

Ačkoli je možné používat lsof bez voleb nebo filtrů, není to doporučené. Výsledný výstup by byl rozsáhlý a obtížně interpretovatelný.

Jaké možnosti a filtry jsou k dispozici v programu lsof pro Linux?

lsof rozumí mnoha výstupním možnostem. Nejdůležitější z nich jsou:

  • -F: Tato volba zajišťuje, že všechny výsledky budou vypsány v jednom sloupci.
  • -l: Tato volba umožňuje zobrazit ID uživatele namísto jména.
  • -n: Pomocí této volby se místo názvů hostitelů zobrazí odpovídající IP adresy.
  • -P: Tímto způsobem se zobrazují čísla portů namísto názvů služeb.
  • -r [x]: Tato volba zajistí, že výstup bude znovu proveden každých x sekund.
  • -t: S touto volbou se zobrazí pouze seznam PID (identifikátor procesu).

Kromě toho lsof zná řadu možností filtrování. Nejběžnější z nich jsou:

  • -a: Jedná se o logickou operaci AND namísto operace OR; používá se ve výchozím nastavení.
  • -c [Proces]: Zjistí, který soubor je používán kterým procesem.
  • +D /file/user: Tento filtr poskytuje informace o konkrétním adresáři a jeho uživateli.
  • /dev/drive: Tento filtr použijte ke kontrole konkrétního disku.
  • -i [TCP/UDP nebo alternativní IP adresa nebo port]: Poskytuje informace o tom, které procesy používají které síťové služby.
  • +L1: Tento filtr použijte k získání informací o smazaných souborech.
  • +p PID: Poskytuje informace o souborech používaných konkrétním PID.
  • /path/file: Poskytuje informace o konkrétním souboru.
  • -u [uživatel]: Zjistěte, který uživatel používá které soubory.

K čemu se používá Linux lsof?

Na závěr vám na několika příkladech ukážeme, jak a k čemu se lsof používá.

$ lsof -u root
bash

To vám umožní zobrazit všechny soubory, které root aktuálně udržuje otevřené.

$ lsof /mount/path
bash

Často se lsof používá k identifikaci programů, které brání spuštění příkazu mount. Tento úkol nelze provést, pokud jsou související soubory stále otevřené.

$ lsof -n -i
bash

Tento příkaz umožňuje zobrazit seznam všech otevřených portů.

Přejít do hlavního menu