Nalezení dat v systému s tisíci soubory se pro administrátory stává velmi obtížné, zejména pro uživatele systému, kteří nejsou obeznámeni s příkazovým řádkem. I když je vyhledávání přes grafické uživatelské rozhraní možné, má určitá omezení z hlediska rychlosti a funkčnosti. Příkazový řádek poskytuje flexibilitu pro rychlé vyhledávání souborů pomocí různých vyhledávacích kritérií. V Linuxu existuje několik příkazů, které můžete použít k vyhledání souborů a složek ve vašem systému.
V tomto článku se naučíme, jak používat různé příkazy k nalezení souborů a složek ve vašem systému Debian. K vyhledání souborů použijeme následující příkazy:
- Příkaz Najít
- Vyhledat příkaz
- Příkaz Grep
Všimněte si, že jsme použili Debian 10 a Debian 11 ke spouštění příkazů a procedur uvedených v tomto článku.
Pomocí příkazu Najít
Najít je nejúčinnějším příkazem pro vyhledávání souborů v systému. Je to užitečné, i když neznáte název souboru, protože vám umožňuje vyhledávat soubory na základě různých podmínek, jako je datum vytvoření souboru, datum změny, oprávnění atd.
K prohledání souboru pomocí příkazu Najít lze použít následující syntaxi:
$ find /path/to/file/ -iname filename
Chcete-li například vyhledat soubor s názvem „license.pdf“ v adresáři ~/Downloads, použijte následující příkaz:
$ find ~/Downloads/ -iname license.pdf
Pamatujte, že pokud nezadáte adresář, prohledá se soubory ve vašem aktuálním adresáři.
Vyhledat soubor pomocí zástupných znaků
Zástupné znaky lze také použít k nalezení souborů, které odpovídají dotazu.
$ find /path/to/file/ -iname filename\*
Chcete-li například prohledat všechny soubory v adresáři, který začíná slovem „test“, lze použít následující příkaz:
$ find ~/Downloads -iname test\*
Vyhledat prázdné soubory
Chcete-li vyhledat prázdné soubory v adresáři, použijte následující syntaxi příkazu:
$ find /path/to/file/ -empty
Chcete-li například najít všechny prázdné soubory v adresáři ~/Downloads, použije se následující příkaz:
$ find ~/Downloads/ -empty
Vyhledávejte soubory podle data a času
Můžete také vyhledávat soubory podle toho, kdy byly zpřístupněny nebo změněny. Soubory můžete vyhledávat na základě následujících podmínek:
- mtime (doba změny ve dnech)
- atime (doba přístupu ve dnech)
- ctime (změna času ve dnech)
Chcete-li najít soubory, které byly změněny před méně než 3 dny, použijte v Terminálu následující příkaz:
$ find /path/to/file -mtime -3
Podobně, chcete-li najít soubory, které byly změněny před více než 3 dny, použijte +3.
Chcete-li najít soubory, ke kterým se přistupovalo před méně než 3 dny, použijte v Terminálu následující příkaz:
$ find /path/to/file -atime -3
Chcete-li najít soubory, které byly změněny před méně než 3 dny, použijte v Terminálu následující příkaz:
$ find /path/to/file -ctime -3
Vyhledávání podle velikosti souboru
Chcete-li vyhledávat soubory podle velikosti, použijte přepínač -size následovaný velikostí souboru. Chcete-li najít soubor o velikosti 5 kb, použijte:
Chcete-li najít soubory o velikosti menší než 5 M, použijte:
$ find /path/to/file -size -5M
Chcete-li najít soubory o velikosti větší než 5 milionů, použijte:
$ find /path/to/file -size +5M
Vyhledávání na základě oprávnění k souboru
Chcete-li vyhledávat soubory s určitými oprávněními, použijte následující syntaxi:
$ find /path/to/file/ -type -perm mode
Zadejte d nebo f za parametrem type uveďte typ souboru. (d pro adresáře a f pro soubory). Nahradit režim s numerickými (např. 777, 655.. atd.) nebo symbolickými oprávněními (např. u=x, a=r+x).
Chcete-li například vyhledat soubor s oprávněním 655, použijte v Terminálu následující příkaz:
$ find /path/to/file -type f -perm 777
Použití příkazu locate
Další příkaz Locate lze také použít k vyhledávání souborů v Linuxu. Nenabízí tolik vyhledávacích kritérií jako příkaz Najít, ale je mnohem rychlejší a efektivnější než příkaz Najít. Udržuje svou vlastní databázi tím, že uchovává záznamy o nových souborech přidaných do vašeho systému. Kdykoli tedy hledáte soubor, neprohledává jej na vašem pevném disku. Místo toho hledá soubor ve své vlastní databázi.
Instalace Locate
Locate není v distribucích Linuxu předinstalovaný. Budete jej muset nainstalovat ručně. Chcete-li nainstalovat nástroj Locate, spusťte v terminálu příkazového řádku následující příkaz.
$ sudo apt-get install locate
Po instalaci jej můžete začít používat k vyhledávání souborů ve vašem systému.
K prohledávání souborů lze použít následující syntaxi:
$ locate –i <path/to/file or filename>
-i se používá k ignorování velkých a malých písmen v názvu souboru.
Vyhledávání souboru
Chcete-li například vyhledat název souboru „licence“, zadejte do Terminálu následující příkaz:
$ locate –i license.pdf
Vyhledat více souborů
Lze jej také použít k hledání více názvů souborů najednou. Například pomocí následujícího příkazu v Terminálu vyhledejte dva samostatné soubory „license.pdf“ a „testfile1“ současně:
Vyhledávání pomocí zástupných znaků
Soubory, které odpovídají dotazu, můžete také najít pomocí zástupného znaku. Chcete-li například vyhledat všechny soubory, které končí na „.ttf“, použijte v Terminálu následující příkaz:
$ locate –i ~/Downloads/*.ttf
Aktualizovat databázi umístění
Funkce příkazu Locate závisí na jeho vlastní databázi. Aby tedy databáze správně fungovala, je potřeba ji pravidelně aktualizovat. Chcete-li to provést, spusťte v Terminálu následující příkaz:
$ sudo updatedb
Pomocí Grep příkaz
Příkaz Grep se v podstatě používá k tisku textu ze souborů, které odpovídají konkrétnímu vzoru. Můžete jej však použít také k vyhledání souborů v adresáři. Například hledáme soubor, ale neznáme název souboru. V takovém případě můžeme vyhledat jeho umístění pomocí klíčového slova, které obsahuje.
$ grep OPTIONS PATTERN /path/to/file
Kde OPTIONS obsahuje některé možnosti ovládání vyhledávání a VZOR obsahuje klíčové slovo, které chceme vyhledat.
V následujícím příkladu použijeme grep k vyhledání souborů, které obsahují klíčové slovo „account“.
$ grep –r -i “account” ~/Downloads
Kde
-i je zvyklý ignorovat malá a velká písmena u zmíněných klíčových slov
-r se používá k rekurzivnímu vyhledávání v zadaném adresáři
V tomto článku jsme probrali několik způsobů, jak pomocí příkazového řádku najít soubory v systému Debian. Pro vyhledávání souborů můžete použít GUI, ale příkazový řádek nabízí vyšší efektivitu z hlediska rychlosti a funkčnosti.