Keď ide o súbory a priečinky, ktoré efektívne nájdete na Linux systéme, existujú dva hlavné príkazy, ktoré sú k dispozícii: find a locate. Oba majú svoje silné stránky a prípady použitia. V tejto príručke sa dozvieš, ako tieto príkazy využiť na rýchle a cielené nájdenie požadovaných dát, či už v domovskom adresári alebo na celom pevnom disku.

Najdôležitejšie poznatky

  • locate je rýchlejšie, pretože využíva databázu, ale môže byť zastarané.
  • find hľadá priamo na pevnom disku a je vždy aktuálne, ale môže byť pomalšie.
  • Oba príkazy ponúkajú rôzne možnosti na zúženie tvojich vyhľadávaní.

Príručka krok za krokom

1. Prvý prehľad: locate

Začni svoje vyhľadávanie príkazom locate. To je obzvlášť jednoduché, keď poznáš presný názov alebo časť názvu súboru. Predpokladajme, že chceš nájsť súbor „Slnko“. Prejdi do svojho koreňového adresára a zadaj nasledujúci príkaz:

locate Slnko

Týmto príkazom locate prehľadá všetky záznamy v databáze a zobrazí ti súbory, ktoré obsahujú hľadaný výraz „Slnko“.

Efektívne vyhľadávanie súborov a priečinkov v systéme Linux

2. Ignorovať veľké a malé písmená

Chceš pri svojom vyhľadávaní ignorovať veľké a malé písmená? Potom môžeš použiť voľbu -i:

locate -i slnko

Takto získaš zoznam, ktorý obsahuje ako „Slnko“, tak aj „slnko“.

Efektívne vyhľadávanie súborov a priečinkov v Linuxe

3. Presnosť pomocou regulárnych výrazov

Ak chceš vykonať presnejšie hľadanie, môžeš s locate tiež využiť regulárne výrazy. Napríklad, ak chceš hľadať presne „ls“, môžeš použiť voľbu -b v kombinácii s chránenými zátvorkami:

locate -b '/ls'

To zabezpečí, že dostaneš len výsledky, ktoré presne zodpovedajú „ls“.

Efektívne vyhľadávanie súborov a priečinkov v Linuxe

4. Aktualizácia databázy

Ak si vytvoril nový súbor a chceš zabezpečiť, aby ho locate našiel, musíš aktualizovať databázu. To vykonáš príkazom:

sudo updatedb

Tento príkaz aktualizuje databázu a privedie ju na najnovší stav.

Efektívne vyhľadávanie súborov a priečinkov v Linuxe

5. Použitie find

Príkaz find je zvlášť užitočný, ak chceš definovať presnejšie kritériá pre svoje hľadanie. Napríklad, ak chceš hľadať v domovskom adresári súbor s názvom „xyz“, môžeš použiť nasledujúci príkaz:

find ~/ -name 'xyz'

Týmto sa prehľadá iba domovský adresár na „xyz“.

Efektívne vyhľadávanie súborov a priečinkov v Linuxe

6. Filtrácia podľa typu súboru

Aby si hľadal len konkrétne typy súborov, môžeš použiť voľbu -type. Napríklad, aby si našiel len priečinky:

find /var/log -type d

Týmto príkazom vymenovávaš všetky priečinky v adresári /var/log.

Efektívne vyhľadávanie súborov a priečinkov v systéme Linux

7. Hľadanie súborov podľa veľkosti

Ak chceš hľadať súbory na základe ich veľkosti, môžeš použiť voľbu -size. Napríklad, aby si našiel súbory väčšie ako 1 MB:

find / -type f -size +1M

Tento príkaz hľadá na celom systéme súbory, ktoré sú väčšie ako 1 megabajt.

Efektívne hľadanie súborov a priečinkov v Linuxe

8. Hľadanie súborov v určitom časovom období

Môžeš tiež hľadať súbory, ktoré boli zmenené v určitom časovom období. Ak chceš hľadať súbory, ktoré boli zmenené v posledných 48 hodinách, použiješ:

find / -type f -mtime -2

„-mtime -2“ znamená súbory, ktoré boli zmenené v posledných dvoch dňoch.

Efektívne nájdenie súborov a priečinkov pomocou Linuxu

9. Kombinácie vyhľadávacích kritérií

Kombinácia viacerých vyhľadávacích kritérií zlepšuje presnosť tvojich dopytov. Môžeš filtrovať podľa typu súboru a posledne zmeneného dátumu zároveň:

find /opt -type f -mtime -1

Takto nájdeš všetky súbory v adresári /opt, ktoré boli zmenené v posledných 24 hodinách.

Efektívne vyhľadávanie súborov a priečinkov v Linuxe

10. Záver k vyhľadávaniu súborov

Pomocou príkazov find a locate si dobre vybavený na efektívne hľadanie súborov a priečinkov na tvojom Linux systéme. Môžeš si vybrať medzi rýchlosťou a aktuálnosťou údajov podľa svojich potrieb.

Zhrnutie – Hľadanie súborov a priečinkov v Linuxe – podrobne o príkazoch find a locate

Nájsť súbory a priečinky v Linuxe je s príkazmi find a locate hračkou. Oba príkazy ti ponúkajú rôzne možnosti na prispôsobenie vyhľadávania.

Najčastejšie otázky

Aký je rozdiel medzi príkazmi find a locate?find hľadá v reálnom čase na pevnom disku, zatiaľčo locate používa databázu, a teda je rýchlejšie, ale môže poskytnúť zastarané výsledky.

Ako aktualizujem databázu príkazu locate?Príkazom sudo updatedb môžeš aktualizovať databázu príkazu locate.

Môžem hľadať pomocou find podľa veľkosti súboru?Áno, je to možné pomocou voľby -size.

Akým spôsobom môžem obmedziť svoje vyhľadávanie podľa názvu súboru alebo adresára?Použi voľby -name alebo -type, aby si sa zameral na konkrétne názvy alebo typy súborov.

Aký je príklad kombinácie vyhľadávacích kritérií?Môžeš použiť find na hľadanie súborov typu -type f a zároveň určiť, že súbory boli zmenené v posledných 24 hodinách s -mtime -1.