Najděte své soubory bez námahy z příkazového řádku v Linuxu
Uživatelé se obvykle snaží najít soubor pomocí GUI. Někdy se však stává velmi únavnou prací najít jednotlivý soubor v obrovské hromadě souborů ve vašem systému. Najít to konvenčně může být časově náročný úkol. Aby byl tento úkol snazší, Linux nabízí určité příkazy, které tuto práci provedou za vás.
nalézt
je populární příkaz používaný v systémech Linux, který vám může pomoci hledat různé soubory na základě jejich názvů, typu, přípony, oprávnění, vlastníka atd.
V tomto tutoriálu se zaměříme na hledání souborů podle názvu. Podíváme se na různé argumenty, které lze použít s nalézt
příkaz. Dozvíme se také o lokalizovat
což je také rychlejší způsob vyhledávání souborů podle názvu.
Syntaxe pro nalézt
příkaz
Za použití nalézt
správným způsobem může váš úkol usnadnit. Nalezení souborů konkrétního typu nebo přípony nebo vyhledávání podle názvu bude možné, pokud dobře rozumíte obecné syntaxi tohoto příkazu.
Obecná syntaxe pro nalézt
příkaz je následující.
najít [hledací_cesta] [výraz] [možnosti] [najít_co]
Snažil jsem se zjednodušit syntaxi nalézt
příkaz k lepšímu pochopení příkazu.
Podívejme se na každý atribut syntaxe, abychom získali představu o významu každého z nich.
Search_Path: Zde přichází cesta, kde zadáme cestu, odkud chceme, aby systém začal hledat soubor. Stručně řečeno, je zadán počáteční adresář pro spuštění vyhledávání.
Výraz: Můžete zadat vzory vyhledávání pro konkrétní soubor, který hledáte.
Možnosti: Můžete použít dostupné možnosti používané s nalézt
příkaz v tomto prostoru.
najít co: Do tohoto atributu vložte název nebo část názvu souboru, který má být prohledán.
Ukažme si tento příkaz na příkladu.
najít /home/gaurav/workspace -name "source.c"
V tomto příkazu používám nalézt
příkaz k vyhledání souboru „source.c“. Požádal jsem konkrétně o hledání v cestě „/home/gaurav/workspace“. Za použití -název
volba mi umožňuje prohledávat soubor určený „source.c“.
Toto je nejjednodušší ukázka použití nalézt
příkaz.
Vyhledávání souborů v aktuálním adresáři
Za použití nalézt
ve své nejjednodušší podobě je hledání souborů ve vašem aktuálním pracovním adresáři.
najít
Tento příkaz zobrazí všechny soubory ve vašem aktuálním pracovním adresáři. Zde je ‚.
“ znamená „aktuální pracovní adresář“. Následuje výstup z mého aktuálního pracovního adresáře. Všechny soubory v tomto adresáři jsou uvedeny bez jakýchkoli filtrů
Výstup:
. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE
Chcete-li vyhledat soubor, jehož přibližný název je znám, použijte nalézt
příkaz, jak je znázorněno níže.
najít -name [řetězec_ze_souboru\*]
Příklad:
najít -kontext jména\*
Tento příkaz hledá soubory, které obsahují řetězec ‚kontext‘.
Výstup:
./context_log.policy ./context.xml ./context_preview.c
Jsou uvedeny všechny soubory v aktuálním adresáři, který obsahuje řetězec ‚kontext‘.
Nyní nastává problém s tímto příkazem, když se pokusíte ponechat si při psaní názvu souboru nebo přibližného řetězce možnost rozlišovat malá a velká písmena.
Linux je velmi opatrný, pokud jde o rozlišování malých a velkých písmen, a proto existuje velká šance, že vaše vyhledávání selže. Nedostanu výstup pro příkaz find, pokud použiji řetězec jako „CONTEXT“ místo „kontextu“. I když je jedno písmeno v názvu souboru v jiném případě než původní název souboru, hledání se nezdaří.
Ale není třeba se tím trápit. Můžete jednoduše vyměnit -název
možnost s -jméno
. To vám umožňuje vyhledávat soubory bez ohledu na to, v jakých případech je jejich název. Stačí provést tuto jednoduchou změnu ve vašem příkazu a budete v pořádku.
najít -jméno CONT\*
Výstup bude stejný, i když jsem použil řetězec ve velkých písmenech.
./context_log.policy ./context.xml ./context_preview.c
Vyhledávání souborů v různých adresářích
Můžete snadno vyhledávat soubory v libovolném adresáři v systému Linux bez ohledu na adresář, ve kterém právě pracujete.
najít [cesta_adresáře] -jméno [konkrétní_název_souboru]
Příklad:
vyhledejte /home/gaurav/tomcat -iname ath.html
Zde jsem hledal konkrétní soubor ‚ath.html‘ a ne soubory podobné tomuto řetězci. Výstupem tedy bude pouze konkrétní soubor, jak je uvedeno výše.
/home/gaurav/tomcat/ath.html
Nyní předpokládejme, že neznáme celý název souboru, ale pouze řetězec tohoto názvu souboru. Poté můžeme prohledávat soubory následujícím způsobem.
najít /home/gaurav/tomcat -iname ath\*
Tento příkaz vyhledá všechny soubory, které na začátku obsahují řetězec ‚ath‘. Použil jsem -jméno
možnost zde, takže se nemusím starat o rozlišení velkých a malých písmen.
Výstup:
/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html
Příkaz můžete také použít k vyhledání více souborů, které mají v názvu podobnou příponu.
Příklad:
najít /home/gaurav/tomcat -iname "*.c"
Příkaz vyhledá všechny soubory v zadaném adresáři, který obsahuje .c jako příponu v jejich názvu souboru.
Výstup:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
Dozvěděli jsme se o nalézt
příkaz k vyhledání souborů zadaných názvem souboru. Nyní prozkoumáme ještě jeden příkaz, který je rychlejší než konvenční nalézt
příkaz.
lokalizovat
přehled příkazů
Existuje ještě jeden příkaz pro vyhledávání souborů ve vašem systému, který je rychlejší než příkaz nalézt
příkaz. to je lokalizovat
příkaz. Tento příkaz není v distribucích Linuxu předinstalován. Ke stažení a instalaci můžete použít následující kroky lokalizovat
příkazový balíček do vašeho systému.
Pro systémy Ubuntu a Debian, použijte:
aktualizace sudo apt sudo apt install mlocate
Pro systémy Cent Os a Fedora, použijte:
sudo yum install mlocate
Příkaz locate hledá soubor podle daného vzoru na vstupu. lokalizovat
používá databázový soubor k vyhledávání souborů, tento databázový soubor je generován aktualizovánob
příkaz.
sudo aktualizovánob
Čas potřebný k aktualizaci tohoto databázového souboru se může lišit od uživatele k uživateli v závislosti na souborech ve vašem systému.
Za použití lokalizovat
příkaz
Můžete použít lokalizovat
příkaz následujícím způsobem. Nezapomeňte aktualizovat soubor databáze pomocí příkazu sudo aktualizovánob
.
Syntax:
vyhledejte [název_souboru nebo_část_název_souboru]
Tento příkaz spustí vyhledávání z kořenového adresáře. Vrátí seznam všech souborů v systému, který obsahuje název souboru nebo část názvu souboru, jak je zadáno v příkazu.
Příklad:
vyhledejte kopii.c
Výstup:
/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/on3/lib/pyth .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__thoncopy.c -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
Zvýrazněný řádek ukazuje, že byl nalezen přesný soubor ‚copy.c‘. Spolu s tímto výsledkem jsou zobrazeny také některé další soubory, které obsahují ‚copy.c‘ jako součást jejich souboru.
Abyste se vyhnuli změti dalších nežádoucích souborů a našli pouze požadovaný soubor, můžete použít příkaz locate následujícím způsobem.
vyhledejte -b '\název souboru'
Příklad:
vyhledejte -b '\copy.c'
Výstup:
/home/gaurav/Downloads/git-2.23.0/copy.c
Konkrétní soubor uvedený v kritériích vyhledávání je uveden spolu s cestou k adresáři, kde se nachází.
Za použití lokalizovat
Příkaz se může zdát trochu složitý, ale je rychlejší metodou pro vyhledávání souborů, když neznáte přesné umístění tohoto souboru. Načítání souborů bude super rychlé, když aktualizujete databázový soubor, který používá příkaz locate.
Závěr
V tomto krátkém tutoriálu jsme se dozvěděli o dvou důležitých příkazech, nalézt
a lokalizovat
. Nyní můžete snadno vyhledávat soubory ve vašem systému, aniž byste se ztratili v hromadě souborů. Použití těchto příkazů se jistě ukáže jako časově úsporné a efektivní pro váš úkol pro vyhledávání souborů.