Android

Vyhledejte příkaz v Linuxu

SysTools Docx Recovery Tool | Repair Corrupt MS Word DOCX Files

SysTools Docx Recovery Tool | Repair Corrupt MS Word DOCX Files

Obsah:

Anonim

Jednou z nejčastějších operací při práci na Linuxu je vyhledávání souborů a adresářů. V systémech Linux existuje několik příkazů, které vám umožňují hledat soubory, přičemž find a locate nejpoužívanější.

Příkaz locate je nejrychlejším a nejjednodušším způsobem hledání souborů a adresářů podle jejich jmen.

V tomto tutoriálu si vysvětlíme, jak používat příkaz locate .

Instalace locate (příkaz findte nebyl nalezen)

V závislosti na distribuci a na tom, jak byl systém poskytnut, může být lokalizační balíček předinstalován na vašem systému Linux.

Chcete-li zkontrolovat, zda je v systému nainstalován obslužný program locate , otevřete terminál, zadejte locate a stiskněte klávesu Enter . Pokud je balíček nainstalován, systém zobrazí locate: no pattern to search for specified , jinak uvidíte něco jako locate command not found .

Pokud není locate nainstalován, můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce.

Nainstalujte locate na Ubuntu a Debian

sudo apt update sudo apt install mlocate

Nainstalujte locate na CentOS a Fedora

sudo yum install mlocate

Jak locate práci

Příkaz locate vyhledá daný vzor prostřednictvím databázového souboru, který je generován příkazem updatedb . Nalezené výsledky se zobrazují na obrazovce, každý na řádek.

Během instalace balíčku mlocate se vytvoří úloha cron, která spustí příkaz updatedb každých 24 hodin. Tím je zajištěna pravidelná aktualizace databáze. Další informace o úloze cron naleznete v souboru /etc/cron.daily/mlocate .

Databázi lze ručně aktualizovat spuštěním aktualizovaného příkazu jako root nebo uživatel s oprávněním sudo:

sudo updatedb

Proces aktualizace bude nějakou dobu trvat v závislosti na počtu souborů a adresářů a rychlosti vašeho systému.

Soubory vytvořené po aktualizaci databáze nebudou ve výsledcích vyhledávání zobrazeny.

Ve srovnání s výkonnějším příkazem find který prohledává souborový systém, locate pracuje mnohem rychleji, ale postrádá mnoho funkcí a může vyhledávat pouze podle názvu souboru.

Jak používat příkaz k locate

Syntaxe příkazu locate je následující:

locate PATTERN…

Ve své nejzákladnější podobě, když je příkaz locate použit bez jakýchkoli možností, vytiskne absolutní cestu ke všem souborům a adresářům, které odpovídají vzoru vyhledávání a ke kterému má uživatel oprávnění ke čtení.

Chcete-li například vyhledat soubor s názvem .bashrc , zadejte:

locate.bashrc

Výstup bude obsahovat jména všech souborů obsahujících řetězec .bashrc v jejich jménech:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

Soubor /root/.bashrc se nezobrazí, protože jsme příkaz spustili jako normální uživatel, který nemá přístupová oprávnění k adresáři /root .

Pokud je seznam výsledků dlouhý, pro lepší čitelnost můžete výstup přepsat na příkaz less :

locate.bashrc | less

Příkaz locate také přijímá vzory obsahující globbing znaky, jako je zástupný znak * . Pokud vzor neobsahuje žádné znaky globching, příkaz vyhledá *PATTERN* , proto byly v předchozím příkladu zobrazeny všechny soubory obsahující vyhledávací vzor v jejich jménech.

Zástupný znak je symbol používaný k reprezentaci nula, jednoho nebo více znaků. Například pro hledání všech souborů .md v systému, který byste použili:

locate *.md

Chcete-li omezit výsledky vyhledávání, použijte volbu -n následovanou počtem výsledků, které chcete zobrazit. Například následující příkaz vyhledá všechny soubory .py a zobrazí pouze 10 výsledků:

locate -n 10 *.py

Ve výchozím nastavení locate písmen. Volba -i ( --ignore-case ) tels locate aby ignorovala velká a malá písmena.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Chcete-li zobrazit počet všech odpovídajících položek, použijte volbu -c ( --count ). Následující příkaz vrátí počet všech souborů obsahujících .bashrc v jejich jménech:

locate -c.bashrc

6

Ve výchozím nastavení locate nekontroluje, zda nalezené soubory stále existují v systému souborů. Pokud jste odstranili soubor po poslední aktualizaci databáze, pokud se soubor shoduje se vzorem vyhledávání, bude zahrnut do výsledků vyhledávání.

Chcete-li zobrazit pouze názvy souborů, které existují v době locate použijte volbu -e (- --existing ). Například následující vrátí pouze existující soubory .json :

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Závěr

Příkaz locate prohledá souborový systém pro soubory a adresáře, jejichž název odpovídá danému vzoru. Syntaxe příkazu je snadno zapamatovatelná a výsledky jsou zobrazeny téměř okamžitě.

Další informace o všech dostupných možnostech příkazu locate type man locate ve vašem terminálu.

vyhledejte terminál