Naučte se používat příkaz find v tomto tutoriálu z našich archivů.

je samozřejmé, že každé dobré desktopové prostředí Linux nabízí možnost prohledávat souborový systém pro soubory a složky. Pokud vaše výchozí plocha není-protože je to Linux-můžete vždy nainstalovat aplikaci, aby vyhledávání hierarchie adresáře hračkou.

ale co příkazový řádek?, Pokud náhodou často pracujete v příkazovém řádku nebo spravujete Linuxové servery bez GUI, kam se obrátíte, když potřebujete najít soubor? Naštěstí má Linux přesně to, co potřebujete k vyhledání příslušných souborů, zabudovaných přímo do systému.

dotyčným příkazem je find. Chcete-li pochopit tento příkaz ještě lákavější, jakmile to víte, můžete začít pracovat do svých Bash skriptů. To není jen pohodlí, to je síla.,

pojďme se dostat až na rychlost s příkazem find, takže můžete převzít kontrolu nad lokalizací souborů na Linuxových serverech a stolních počítačích, bez nutnosti GUI.

Jak používat příkaz najít

Když jsem poprvé zahlédl Linux, zpět v roce 1997, nechtěl jsem docela pochopit, jak najít příkaz fungoval; proto, to nikdy zdálo se, že funkce, jak jsem očekával. Zdálo se to jednoduché; vydat příkaz najít název SOUBORU (kde název SOUBORU je název souboru) a příkaz měl najít soubor a zprávu zpět. Málo jsem věděl, že na povel je víc než to. Mnohem.,

pokud vydáte příkaz man find, uvidíte syntaxi příkazu find:

find 

přirozeně, pokud nejste obeznámeni s tím, jak člověk pracuje, můžete být touto syntaxí zmateni nebo ohromeni. Pro snadné pochopení to zjednodušme. Nejzákladnější syntaxe základního příkazu find by vypadala takto:

find /path option filename

nyní to uvidíme v práci.

Najděte podle názvu

pojďme rozdělit základní příkaz, aby byl co nejjasnější., Nejjednodušší struktura příkazu find by měla obsahovat cestu k souboru, možnost a samotný název souboru. Možná si myslíte: „pokud znám cestu k souboru, už bych věděl, kde ho najít!”. Cesta k souboru by mohla být kořenem vaší jednotky; takže / by byla legitimní cesta. Zadání, které jako cesta bude trvat déle, než se zpracuje-protože musí začít od nuly-ale pokud nemáte tušení, kde je soubor, můžete začít odtamtud. Ve jménu efektivity je vždy nejlepší mít alespoň představu, kde začít hledat.,

Další bit příkazu je volba. Stejně jako u většiny příkazů Linux máte řadu dostupných možností. Začínáme však od začátku, takže to usnadníme. Protože jsme se snaží najít soubor podle názvu, použijeme jednu ze dvou možností:

  • jméno – velká a malá písmena

  • iname – malá a velká písmena

Pamatujte si, že Linux je velmi zejména o případ, takže pokud hledáte pro soubor pojmenovaný Linux.odt, následující příkaz vrátí žádné výsledky.,

find / -name linux.odt

Pokud se, nicméně, byste měli změnit příkaz pomocí -iname možnost, najít příkaz by vyhledejte soubor, bez ohledu na případu. Takže nový příkaz vypadá takto:

find / -iname linux.odt

Najít podle typu

Co když nejste tak zaujatý vyhledávání souborů podle názvu, ale raději vyhledejte všechny soubory určitého typu?, Některé z více společné popisovače souborů jsou:

  • f – obyčejný soubor,

  • d – directory

  • l – symbolický link

  • c – character devices

  • b – bloková zařízení,

Nyní, řekněme, že chcete najít všechna bloková zařízení (soubor, který se odkazuje na zařízení) na vašem systému., S pomocí -možnost typ, můžeme to udělat takhle:

find / -type c

výše uvedený příkaz by mělo za následek poměrně hodně výkonu (moc to s uvedením permission denied), ale bude zahrnovat výstup podobný:

/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm

Voila! Bloková zařízení.

můžeme použít stejnou možnost, která nám pomůže hledat konfigurační soubory. Řekněme, například, chcete najít všechny běžné soubory, které končí v.konfederace., Tento příkaz může vypadat nějak takto:

find / -type f -name "*.conf"

výše uvedený příkaz by procházet celou adresářovou strukturu a vyhledejte všechny běžné soubory končící .conf. Pokud víte, většina z konfigurační soubory jsou umístěny v /etc, můžete určit, že tak jako:

find /etc -type f -name "*.conf”

výše uvedený příkaz by seznam všech vašich .conf soubory z / etc (Obrázek 1).

Obrázek 1: Umístění všech konfiguračních souborů v / atd.,

Výstup výsledků do souboru

Jeden opravdu šikovný trik je výstup výsledků vyhledávání do souboru. Pokud víte, že výstup může být rozsáhlý, nebo chcete-li později projít výsledky, může to být neuvěřitelně užitečné. K tomu použijeme stejný příklad jako výše a výsledky přeneseme do souboru nazvaného conf_search. Tento nový příkaz by vypadal takto:

find /etc -type f -name "*.conf” > conf_search

nyní Budete mít soubor (conf_search), která obsahuje všechny výsledky od nalezení příkaz vydal.,

hledání souborů podle velikosti

nyní se dostáváme k okamžiku, kdy se příkaz find stává neuvěřitelně užitečným. Měl jsem případy, kdy stolní počítače nebo servery našly své jednotky záhadně naplněné. Chcete-li rychle vytvořit místo (nebo pomoci najít problém), můžete pomocí příkazu Najít soubory určité velikosti. Řekněme například, že chcete jít velké a najít soubory, které jsou více než 1000 MB. Příkaz find lze vydat pomocí volby velikosti, například:

find / -size +1000MB

můžete být překvapeni, kolik souborů se objeví., S výstupem z příkazu můžete procházet adresářovou strukturou a uvolnit místo nebo řešit problémy, abyste zjistili, co záhadně zaplňuje disk.

můžete hledat s tímto size popis:

  • c – bytes

  • k – Kilobajtů

  • M – Mb.

  • G – Gb

  • b – 512-byte blocks

Udržet učení

Jsme jen poškrábaný povrch příkaz najít, ale nyní máte základní znalosti o tom, jak najít soubory na vašem Linux systémy., Ujistěte se, že vydat příkaz muž najít získat hlubší, úplnější, znalosti o tom, jak tento mocný nástroj pracovat pro vás.

Dozvědět se více o Linuxu prostřednictvím bezplatného kurzu „Úvod do Linuxu“ od Linux Foundation a edX.