Příkazy pro Linux

Linux lsof Command

Linux lsof Command
Příkazový nástroj „lsof“ v systému Linux je jedním z mnoha vestavěných nástrojů, které jsou velmi užitečné pro kontrolu „seznamu otevřených souborů“. Ano, termín „lsof“ je zkratkou úkolu.

V systému neustále běží celá řada procesů, které přistupují k různým souborům systému. Těmito soubory mohou být soubory na disku, skripty, síťové zásuvky, zařízení, pojmenované kanály a další. Pomocí „lsof“ je možné provádět spoustu věcí, například ladění. Je také docela užitečné pro správce systému zjistit, k jakým souborům se přistupuje pomocí jakých procesů. Jedním z nejužitečnějších scénářů, které jsem našel, je situace, kdy se chystáte odpojit souborový systém, ale stále k němu přistupujete.

Bez dalších okolků začněme s „lsof“! Předpokládám, že váš současný systém UNIX / Linux již má „lsof“ nainstalován.

Umístění

které také

Toto ohlásí úplnou cestu k příkazu, v tomto případě „lsof“.

„Lsof“ verze
z -v

Toto ohlásí podrobné informace o verzi „lsof“, včetně data sestavení binárního souboru, verze kompilátoru, příznaků kompilátoru a dalších.

Základní „lsof“ použití

Spustit „lsof“ sám.

také

Toto hlásí VELKÝ seznam všech souborů, ke kterým systém přistupuje v okamžiku spuštění příkazu.

I když jsou všechna pole vysvětlující, většinou se zmást sloupci „FD“ a „TYPE“ a jejich hodnotami. Podívejme se na ně.

FD: Zkratka „File Descriptor“. Přichází s následujícími hodnotami.

Ve sloupci jsou i další hodnoty, například „1u“ následované u, r, w atd. hodnota. Co to znamená??

TYP: Popisuje typ souboru a jeho identifikaci. Hodnoty jsou následující.

Otevřené soubory specifické pro uživatele

Linux je skvělá platforma pro více uživatelů. Více uživatelů může přistupovat k systému současně a provádět operace, ke kterým mají oprávnění.

Chcete-li zkontrolovat soubory, ke kterým přistupuje určitý uživatel, spusťte následující příkaz.

lsof -u

Pro kontrolu uživatelů s vyšší hodností však „lsof“ bude potřebovat oprávnění „superuživatele“.

sudo lsof -u

Co takhle zkontrolovat všechny příkazy a soubory, ke kterým určitý uživatel přistupuje? Spusťte následující.

také -i -u

Opět platí, že pro uživatele s vyšší hodností bude „lsof“ potřebovat oprávnění „superuživatele“.

sudo lsof -i -u

Běžící procesy specifické pro port

Chcete-li zjistit všechny procesy, které aktuálně používají určitý port, volejte „lsof“ s příznakem „-i“ následovaným protokolem a informacemi o portu.

také -i<46><@hostname|host_address>
:

Chcete-li například zkontrolovat všechny programy, které aktuálně přistupují k portu 80 přes protokol TCP / IP, spusťte následující příkaz.

lsof -i TCP: 80

Tuto metodu lze také použít k zobrazení všech procesů, které používají porty v určitém rozsahu, například 1 až 1000. Struktura příkazů je podobná jako dříve, s trochou kouzla v části s číslem portu.

lsof -i TCP: 1-1000

Procesy specifické pro protokol

Zde jsou 2 příklady ukazující procesy, které aktuálně používají protokoly IPv4 a IPv6.

také -i 4

z -i 6

Výpis síťových připojení

Následující příkaz ohlásí všechna síťová připojení z aktuálního systému.

také -i

S výjimkou ^

Ano, můžeme vyloučit konkrétního uživatele, port, FD a další pomocí znaku „^“. Musíte jej používat opatrně, abyste nepokazili celý výstup.

V tomto příkladu pojďme vyloučit všechny procesy z „root“ uživatele.

lsof -u ^ root

Existují i ​​jiné způsoby použití tohoto vylučovacího mechanismu s „lsof“, například s příznaky jako „-c“, „-d“ atd. Ne všechny příznaky tento mechanismus podporují. Proto doporučuji před implementací do některých skriptů vyzkoušet demo s touto metodou s jakýmkoli příznakem.

PID vyhledávání

PID je důležitá vlastnost každého běžícího procesu v systému. Umožňuje jemnější určení určitého procesu. Název procesu není v mnoha situacích docela užitečný, protože stejný binární soubor může vytvářet jeho kopie a provádět paralelně různé úlohy.

Pokud nevíte, jak získat PID procesu, použijte „ps“ k vypsání všech spuštěných procesů a filtrování výstupu pomocí „grep“ s názvem procesu nebo příkazy.

ps -A

Nyní proveďte filtrování pomocí „grep“.

ps -A | grep

Nyní zkontrolujte, k jakým souborům PID přistupuje.

lsof -p

Seznam otevřených souborů pro konkrétní zařízení

Funkčnost „lsof“ se neomezuje pouze na tyto funkce. Výsledek „lsof“ můžete také filtrovat podle zařízení. Z tohoto důvodu bude příkaz vypadat nějak takto.

také

Tento příkaz je velmi užitečný k vyhledání všech spuštěných procesů s informacemi o jejich vlastníkovi, které přistupují ke konkrétnímu souborovému systému. Pokud máte potíže s odpojením souborového systému, je to nejlepší způsob, jak jít.

také

Seznam otevřených souborů v adresáři

Podobně jako v předchozím příkladu stačí předat cestu k adresáři „lsof“ a zjistit, zda k němu přistupuje nějaký proces.

Poznámka: „lsof“ zkontroluje adresář rekurzivně, takže to může nějakou dobu trvat.

= lsof + D

Bonus: ukončit veškerou aktivitu uživatelů

S touto částí buďte velmi opatrní, protože může jednoduše pokazit vše, co uživatel dělá. Následující příkaz zabije všechny spuštěné procesy uživatele.

sudo kill -9 'lsof -t -u Závěrečné myšlenky

Funkce „lsof“ se nekončí jen zde. Zde uvedené jsou ty, které budeme každý den potřebovat nejvíce. Existuje spousta dalších funkcí „lsof“, které se mohou hodit (samozřejmě v konkrétních případech).

Všechny dostupné funkce a jejich využití najdete na manuálových a informačních stránkách „lsof“.

muž

informace o

také -?

Užívat si!

Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...
Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...
Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...