GNU/Linux >> Znalost Linux >  >> Linux

Jak vyhledávat soubory z terminálu v systému Linux

I když existuje mnoho způsobů, jak můžeme vyhledávat a lokalizovat soubory a adresáře v Linuxu, nejjednodušší a nejrychlejší je pravděpodobně přes terminál. O tom však mnoho uživatelů Linuxu neví, což vede ke zbytečné frustraci. Zde je rychlý průvodce, který vám snad pomůže najít to, co ve vašem systému hledáte.

Použijte příkaz Locate

lokalizovat ” je prvním řešením, které by měl uživatel Linuxu využít, protože je mnohem rychlejší než cokoli jiného. Důvodem této bezkonkurenční rychlosti je to, že příkaz locate ve skutečnosti nevyhledává na vašich lokálních pevných discích soubory nebo adresáře, které potřebujete najít, ale spíše pročítá databázový soubor mlocate.db, který obsahuje všechny cesty k souborům ve vašem systému. .

Pokud jste ještě nenainstalovali locate, použijte tyto příkazy:

Debian a Ubuntu

sudo apt-get install locate

CentOS

yum install locate

Připravte příkaz locate pro první použití

Pro aktualizaci databáze mlocate.db před prvním použitím spusťte:

sudo updatedb

Chcete-li použít locate, otevřete terminál a zadejte locate a za ním název souboru, který hledáte. V tomto příkladu hledám soubory, které ve svém názvu obsahují slovo 'sunny'.

locate sunny

Funkce Locate vám také může sdělit, kolikrát se vyhledávací klíčové slovo v databázi shoduje. Toho je dosaženo zahrnutím parametru „-c“ do příkazu, což znamená „count“.

locate -c sunny

Na rozdíl od jiných flexibilnějších nástrojů musí mít uživatelé na paměti, že „vyhledat“ potřebuje konkrétní a přesný název souboru, který hledáte. To znamená, že locate je skvělé pro nalezení něčeho, o čem jste si jisti jeho názvem, ale ne tak skvělé, když si přesně nepamatujete název souboru.

locate howtoforge

vs

locate Howtoforge

Navíc, a protože „najít ” čte databázový soubor, výsledky mohou být zastaralé a ne zcela pravdivé. Chcete-li tento problém zmírnit, můžete aktualizovat databázi cest k souborům zadáním „sudo updatedb ” na terminálové relaci.

Zde se podívejte na další příklady použití příkazu locate.

Pokud ani poté stále nenacházíte to, co jste hledali, nebo jste jednoduše zavaleni množstvím výsledků, přejděte k dalšímu kroku, kterým je příkaz „najít“.

Použijte příkaz Najít

najít ” je mnohem výkonnější, ale také pomalejší vyhledávací nástroj. Je to proto, že na rozdíl od příkazu „locate“ „najít“ ve skutečnosti prohledává vaše disky a hledá soubory a adresáře, které uživatel hledá. Najít je ideální, když se snažíte najít soubor nebo adresář, ale nemůžete si vzpomenout na jeho název, protože „najít“ může hledat soubory, které patří určitému uživateli nebo skupině uživatelů, soubory, které byly změněny nebo zpřístupněny nedávno soubory určitého rozsahu velikostí, skryté soubory, spustitelné soubory, soubory pouze pro čtení a soubory s určitými oprávněními. Nejlepší na tom je, že uživatel může volně kombinovat více výše uvedených kritérií v jednom příkazu „najít“, což v podstatě zužuje výsledky.

Když už mluvíme o zúžení, první věc, kterou chcete udělat, když spustíte „najít“, je říct mu, aby hledal v konkrétním adresáři. To výrazně urychlí proces vyhledávání, ale vždy v závislosti na velikosti adresáře. Pokud víte, kde by soubor mohl být, otevřete terminál, přejděte do adresáře a spusťte „najít . [název souboru] “. Tato tečka říká, že funkce find má hledat v aktuálním adresáři. Pokud chcete místo toho prohledat svůj domovský adresář, nahraďte tečku „~/“ a pokud chcete prohledat celý souborový systém, použijte místo toho „/“.

Jako příklad chci vyhledat soubor, který obsahuje plakát v mém adresáři pro stahování. Vím, že název souboru obsahuje slovo „poster“, ale přesně si nepamatuji název. Z tohoto důvodu bych přešel do své složky pro stahování přes terminál pomocí „cd Downloads“ a poté zadal příkaz:

sudo find . -name "*poster*"

Zde je výsledek:

To mi říká, že ve složce Downloads je soubor pdf s názvem „billy_poster copy“. Pokud bych nevěděl, kde to bylo, „najít“ by mi stále dalo vědět, že je ve složce Stažené soubory, pokud bych hledal v nadřazeném adresáři.

Nyní, když nahradím parametr „-name“ parametrem „-name“, mohu získat výsledky bez ohledu na velikost písmen. To je něco, co v „locate“ není, takže další užitečný prvek, když si nejste jisti názvem souboru.

sudo find . -name "*poster*"

Nyní předpokládejme, že stále hledám stejný soubor plakátu a jediná věc, kterou si pamatuji, je, že je menší než 5 MB. Příkaz, který bych v takovém případě použil, je:

find ~/ -size -5M

Pokud bych věděl, že je vyšší než řekněme 2 MB, příkaz by byl „najít ~/ -velikost +2M“. Nejlepší na tom je, že find podporuje booleovské operátory, aby bylo hledání ještě silnější. V tomto příkladu použiji příkaz, který kombinuje mé znalosti, že velikost souboru je menší než 5 megabajtů a také větší než 2. Příkaz by byl:

find / -size -5M -and -size +2M

Nakonec navrhněme, že si o souboru nic nepamatujeme, ale pamatujeme si, že jsme k němu přistupovali před třemi minutami. Chcete-li jej najít, použijte příkaz find jako:

find / -amin -3

To by bylo „find / -amin -30“ na půl hodiny a „-amin -120“ na dvě hodiny atd. Pokud jste soubor otevřeli před dvěma dny, použijte místo toho toto:

find / -time -2

Tím se v místě hledání zobrazí všechny soubory, ke kterým se přistupovalo za poslední dva dny.

Myslím, že výše uvedené pokrývá většinu obvyklých scénářů použití. Pro více informací o mocném příkazu „find“ otevřete terminál a napište „man find“. Hodně štěstí při hledání toho, co hledáte.

Další příklady příkazu find pro Linux naleznete zde.


Linux
  1. Jak nainstalovat software z příkazového řádku Linuxu

  2. Rychle vyhledejte soubory v Linuxu pomocí příkazu Locate

  3. Jak používat příkaz Rsync v linuxu?

  1. Jak přejmenovat soubory v Linuxu

  2. Jak vyhledávat na webu z terminálu v systému Linux

  3. Vyhledejte příkaz v Linuxu

  1. Jak restartovat nebo restartovat Linux Server z příkazového řádku

  2. Migrace linuxového serveru z příkazového řádku

  3. Jak používat Linuxový příkaz find k hledání souborů