GNU/Linux >> Znalost Linux >  >> Linux

Příkaz lsof pro Linux vysvětlený na 12 praktických příkladech

lsof je zkratka pro Seznam otevřených souborů který zobrazuje podrobné informace o tom, které soubory jsou v systému Linux otevřené a které procesy je otevřely. Byl vyvinut a podporován Victorem A. Abellem.

Tento článek vám pomůže pochopit použití příkazu lsof spolu s 12 praktickými příklady.

Seznam všech otevřených souborů pomocí lsof

Chcete-li zobrazit seznam otevřených souborů, jednoduše spusťte lsof a získáte výstup jako níže, kde můžete vidět záhlaví jako příkaz, Pid, ​​User, FD atd.

$ lsof

Ve výše uvedeném příkladu je většina sloupců a jejich hodnot samovysvětlující. Podívejme se tedy, co vlastně FD je, Fd odkazuje na deskriptor souboru a obsahuje hodnoty jako:

  • cwd- aktuální pracovní adresář
  • rtd – kořenový adresář
  • txt – text
  • mem ​​– soubor mapovaný v paměti

Otevřít seznam souborů pro konkrétního uživatele

Uživatele můžete určit pomocí volby -u v příkazu, který vám umožní vypsat všechny otevřené soubory pro daného uživatele.

$ lsof -u root

Seznam otevřených souborů podle ID procesu

Předpokládejme, že znáte pid konkrétního procesu, můžete vyhledávat v seznamu otevřených souborů na základě pid pomocí volby -p spolu s příkazem na konci s hodnotou pid. Musíte spustit příkaz, jak je uvedeno v příkladu uvedeném níže.

# lsof -p 82

Konkrétní proces spuštění portu

Chcete-li zkontrolovat, který proces obsadil konkrétní port, můžete je uvést pomocí volby -i spolu s číslem portu v TCP/UDP. V následujícím příkladu zjistíme, který proces si zvolil port 80.

# lsof -i:80

Zobrazit seznam specifických síťových souborů (IPv4 a IPv6)

Chcete-li zobrazit otevřené soubory podle typu síťových souborů, musíte zadat typ za volbou -i.

Pro IPv4 musíte spustit příkaz jako níže.

# lsof -i 4

Pro IPv6 spusťte příkaz

# lsof -i 6

Najděte procesy, které naslouchají určitému rozsahu portů

Pokud chcete zobrazit seznam otevřených souborů konkrétního rozsahu portů. Na konci příkazu musíte použít -i se specifickým rozsahem portů.

# losf -i TCP:1-100

Vyloučit konkrétního uživatele ze seznamu otevřených souborů

Uživatele můžete z výstupu vyloučit pomocí znaku „^“ v příkazu, jak je uvedeno v následujícím příkladu.

# lsof -i -u^sanju

Seznam procesů podle cesty k adresáři

Chcete-li najít proces běžící v určitém adresáři, můžete spustit příkaz s možností +D na konci cesty spolu s ním. Příkaz musíte provést následujícím způsobem.

# lsof +D /home/sanju

Připojení k reklamní síti

Volba User -i k příkazu pro zobrazení seznamu síťových připojení na základě Listening &Established.

$ lsof -i

Kill Specific Process

Někdy mohou některé procesy odolávat vypnutí, i když proces zavřete, nebo nějaký neznámý proces může zabrat port, na kterém chcete spustit konkrétní program. Chcete-li vynutit ukončení procesu, můžete použít příkaz lsof, protože je snazší vypsat běžící proces. Musíte tedy příkaz spustit následujícím způsobem.

# kill -9 $(lsof -t -i:8080)

Seznam otevřených souborů na základě FD (deskriptoru souboru)

Otevřené soubory můžete filtrovat podle typů FD, musíte použít volbu -d spolu s typem FD, jak je uvedeno v příkladu níže.

# lsof -d rtd

Seznam otevřených souborů podle názvu procesu

Soubory můžete vypsat podle názvu procesu pomocí volby -c s příkazem. Spusťte příkaz následujícími způsoby

# lsof -c nginx

Závěr

Jsem vám vděčný, že jste věnovali svůj čas prostudování tohoto článku. Doufám, že jste získali nějaké znalosti o tom, jak lze použít příkaz lsof. Toto jsou věci, které považuji za užitečné při nasazování aplikace.


Linux
  1. wc Linux Command s příklady

  2. Příkaz vypnutí Linuxu s příklady

  3. Příkaz Linux Traceroute, vysvětlený s příklady

  1. Příkaz Netstat v Linuxu - 28 příkazů s příklady

  2. Linux cut Command Vysvětlení pomocí 6 příkladů

  3. Linux ip příkaz s příklady

  1. Příkaz Linux ldd vysvětlený s příklady

  2. 15 Příkaz Linux ps s příklady

  3. Linux dělá příkaz vysvětlený s příklady