Spôsoby platby Abuse

Príkaz find v systéme Linux

04.03.2023, 02:43

Príkaz find v Linuxe sa používa na vyhľadávanie súborov a adresárov v zadaných adresároch na základe rôznych kritérií. Tento príkaz je jedným z najvýkonnejších a najrozšírenejších nástrojov v Linuxe.

Formát príkazu

Základný formát príkazu find je nasledujúci:

find [path] [expression]

kde:

jecesta k adresáru, v ktorom sa majú vyhľadávať súbory (štandardne find prehľadáva aktuálny adresár a všetky jeho podadresáre);

výraz je výraz, ktorý definuje kritériá na vyhľadávanie súborov.

Nižšie sú uvedené niektoré z najbežnejších kritérií vyhľadávania súborov, ktoré možno použiť vo výraze príkazu find:

-name: vyhľadávanie súborov podľa názvu. Napríklad:

find /home/user -name myfile.txt

-(napríklad f pre bežné súbory alebo d pre adresáre). Napríklad:

find /home/user -type f

-size: vyhľadávanie súborov podľa veľkosti. Napríklad:

find /home/user -size +10M

-mtime: vyhľadávanie súborov podľa času poslednej zmeny. Napríklad:

find /home/user -mtime -7

-user a -group: vyhľadávanie súborov podľa vlastníka a skupiny. Napríklad:

find /home/user -user bob -group users

Na kombináciu viacerých kritérií vyhľadávania do jedného výrazu môžete použiť logické operátory -and, -or a -not.

Napríklad nasledujúci príkaz vyhľadá všetky súbory v adresári /home/user, ktoré boli zmenené za posledných 7 dní a sú väčšie ako 10 megabajtov:

find /home/user -type f -mtime -7 -size +10M

Príkaz find tiež umožňuje vykonávať rôzne akcie s nájdenými súbormi pomocou možnosti -exec. Napríklad môžete odstrániť všetky súbory, ktoré boli modifikované pred viac ako 30 dňami, pomocou nasledujúceho príkazu:

find /home/user -type f -mtime +30 -exec rm {} ;

V tomto prípade sa pomocou možnosti -exec spustí príkaz rm pre každý nájdený súbor a v príkaze sa namiesto názvu súboru použije {}.

Príkaz find je výkonný nástroj na vyhľadávanie súborov a adresárov v systéme Linux, ktorý možno použiť na vykonávanie rôznych úloh súvisiacich so správou.

Ďalšie možnosti

Príkaz find podporuje mnoho ďalších možností, ktoré možno použiť na presnejšie vyhľadávanie súborov:

-iname: vyhľadávanie súborov podľa názvu bez ohľadu na veľkosť znakov. Napríklad:

find /home/user -iname myfile.txt

-regex: vyhľadá súbory, ktorých názvy zodpovedajú zadanému regulárnemu výrazu. Napríklad:

find /home/user -regex ".*.txt$"

-maxdepth a -mindepth: obmedzí hĺbku vyhľadávania súborov v podadresároch. Napríklad:

find /home/user -maxdepth 2 -type f

-prune: vylúčenie určitých adresárov z vyhľadávania. Napríklad:

find /home/user -path /home/user/excluded -prune -o -type f -print

-print: vypíše zoznam nájdených súborov na štandardný výstup. Napríklad:

find /home/user -type f -print

find podporuje aj vyhľadávanie súborov podľa rôznych atribútov, ako sú oprávnenia, atribúty súborov, značky SELinux a iné. Viac informácií o týchto možnostiach nájdete v dokumentácii príkazu find.

Príkaz môže vyhľadávať súbory a adresáre v celom súborovom systéme, čo môže zabrať veľa času a zdrojov. Preto je dôležité byť pri používaní tohto príkazu opatrný a uistiť sa, že kritériá vyhľadávania sú nastavené správne, aby sa zabránilo nájdeniu nepotrebných súborov alebo chýb v systéme.