Když jde o soubory a adresáře efektivně hledat na systému Linux, existují dva hlavní příkazy, které jsou k dispozici: find a locate. Oba mají své vlastní silné stránky a případy použití. V této příručce se dozvíš, jak tyto příkazy využít k rychlému a cílenému nalezení požadovaných dat, ať už v domovském adresáři nebo na celém pevném disku.

Nejdůležitější poznatky

  • locate je rychlejší, protože využívá databázi, ale nemusí být aktuální.
  • find hledá přímo na pevném disku a je vždy aktuální, ale může být pomalejší.
  • Oba příkazy nabízejí různé možnosti pro zúžení hledání.

Podrobný návod

1. První přehled: locate

Začni své hledání příkazem locate. To je obzvlášť jednoduché, pokud znáš přesný název nebo část názvu souboru. Představ si, že chceš najít soubor „Slunce“. Přepni se do svého kořenového adresáře a zadej následující příkaz:

locate Slunce

Tento příkaz prohledá databázi pomocí locate a vypíše ti soubory, které obsahují hledaný pojem „Slunce“.

Efektivní nalezení souborů a složek pomocí Linuxu

2. Ignorování velikosti písmen

Chceš-li při hledání ignorovat velikost písmen? Pak můžeš použít volbu -i:

locate -i slunce

Tímto způsobem získáš seznam, který obsahuje jak „Slunce“, tak „slunce“.

Efektivní hledání souborů a složek v Linuxu

3. Přesnost pomocí regulárních výrazů

Pokud chceš provést přesnější hledání, můžeš také použít regulární výrazy s locate. Například, abys hledal přesně „ls“, můžeš použít volbu -b spolu s chráněnými závorkami:

locate -b '/ls'

Tímto způsobem dostaneš pouze výsledky, které přesně odpovídají „ls“.

Efektivně najít soubory a složky pomocí Linuxu

4. Aktualizace databáze

Pokud jsi vytvořil nový soubor a chceš se ujistit, že locate ho najde, musíš aktualizovat databázi. To uděláš pomocí příkazu:

sudo updatedb

Tento příkaz aktualizuje databázi a přivede ji na nejnovější stav.

Efektivně najít soubory a složky pomocí Linuxu

5. Použití find

Příkaz find je obzvlášť užitečný, pokud chceš definovat přesnější kritéria pro své hledání. Například, abys hledal soubor s názvem „xyz“ ve svém domovském adresáři, můžeš použít následující příkaz:

find ~/ -name 'xyz'

Tímto se prohledá pouze domovský adresář na „xyz“.

Efektivní hledání souborů a složek v Linuxu

6. Filtr podle typu souboru

Abys hledal pouze určité typy souborů, můžeš použít volbu -type. Například, abys našel pouze adresáře:

find /var/log -type d

Tímto příkazem vypíšeš všechny adresáře v adresáři /var/log.

Efektivně vyhledávat soubory a složky s Linuxem

7. Hledání souborů podle velikosti

Pokud chceš hledat soubory na základě jejich velikosti, můžeš použít volbu -size. Například, abys našel soubory větší než 1 MB:

find / -type f -size +1M

Tento příkaz hledá v celém systému soubory, které jsou větší než 1 megabajt.

Efektivní hledání souborů a složek pomocí Linuxu

8. Hledání souborů v určitém časovém období

Také můžeš hledat soubory, které byly změněny během určité doby. Pokud chceš například hledat soubory, které byly změněny v posledních 48 hodinách, použiješ:

find / -type f -mtime -2

Přičemž „-mtime -2“ označuje soubory, které byly změněny v posledních dvou dnech.

Efektivně najít soubory a složky v Linuxu

9. Kombinace hledacích kritérií

Kombinace několika hledacích kritérií zlepšuje přesnost tvých dotazů. Můžeš filtrovat zároveň podle typu souboru a poslední změny:

find /opt -type f -mtime -1

Tímto způsobem najdeš všechny soubory v adresáři /opt, které byly změněny v posledních 24 hodinách.

Efektivní hledání souborů a složek v Linuxu

10. Závěr k hledání souborů

S příkazy find a locate jsi dobře vybaven, abys efektivně našel soubory a adresáře na svém systému Linux. Můžeš si vybrat mezi rychlostí a aktuálností dat, podle svých potřeb.

Souhrn – Hledání souborů a adresářů v Linuxu – find a locate podrobně

Nalezení souborů a adresářů v Linuxu je s příkazy find a locate hračka. Oba příkazy ti nabízejí různé možnosti, jak hledání přizpůsobit podle svých potřeb.

Časté dotazy

Jaký je rozdíl mezi find a locate?find hledá v reálném čase na pevném disku, zatímco locate používá databázi, a tudíž je rychlejší, ale možná nenabízí aktuální výsledky.

Jak mohu aktualizovat databázi pro locate?Pomocí příkazu sudo updatedb můžeš aktualizovat databázi pro locate.

Možu hledat pomocí find podle velikosti souboru?Ano, je to možné pomocí volby -size.

Jak mohu omezit hledání podle názvu souboru nebo adresáře?Použij volby -name nebo -type, abys se zaměřil na konkrétní názvy nebo typy souborů.

Příklad kombinace hledacích kritérií?Můžeš použít find k hledání souborů typu -type f a zároveň označit, že soubory byly změněny v posledních 24 hodinách s -mtime -1.