find command unix
Úvod do hľadania príkazov v systéme Unix: Vyhľadávanie súborov a adresárov pomocou príkazu hľadania súborov v systéme Unix
Príkaz Unix find je výkonný nástroj na vyhľadávanie súborov alebo adresárov.
Vyhľadávanie môže byť založené na rôznych kritériách a zodpovedajúce súbory je možné spúšťať prostredníctvom definovaných akcií. Tento príkaz rekurzívne zostupuje hierarchiu súborov pre každú zadanú cestu.
=> Kliknutím sem zobrazíte kompletnú sériu výukových programov pre Unix
Čo sa dozviete:
prečo si vybral otázku na testovanie softvéru?
Nájdite príkaz v systéme Unix
Syntax:
find (options) (paths) (expression)
Možnosti tohto príkazu sa používajú na určenie toho, ako sa má so symbolickými odkazmi zaobchádzať. Potom nasleduje skupina ciest, ktoré sa majú vyhľadať. Ak nie sú zadané žiadne cesty, použije sa aktuálny adresár. Daný výraz sa potom spustí na každom zo súborov nájdených v cestách.
Výraz sa skladá zo série možností, testov a akcií, pričom každá vracia logickú hodnotu. Výraz sa vyhodnocuje zľava doprava pre každý súbor v ceste, kým sa neurčí výsledok, tj. O výsledku je známe, že je pravdivý alebo nepravdivý.
- Výrazové výrazy sa používajú na obmedzenie operácie hľadania a vždy sa vracajú true.
-
- -depth: spracuje obsah adresára pred spracovaním samotného adresára.
- -maxdepth: maximálne úrovne pod poskytnutými cestami, ktoré zostúpia na zápas.
- -mindepth: minimálne úrovne nad poskytované cesty, aby zostúpili pred párovaním.
-
- Testovacie výrazy sa používajú na vyhodnotenie špecifických vlastností súborov a na zodpovedajúce vrátenie hodnoty true alebo false. (Kdekoľvek sa použije počet 'n': bez akejkoľvek predvoľby je zhoda pre presnú hodnotu n; s predponou '+' je zhoda pre hodnoty väčšie ako n; a s predponou '-' je zhoda pre hodnoty menšie ako n.)
-
- -atime n: Vráti hodnotu true, ak bol súbor sprístupnený pred n dňami.
- -ctime n: Vráti hodnotu true, ak bol pred n dňami zmenený stav súboru.
- -mtime n: Vráti hodnotu true, ak bol pred n dňami upravený obsah súboru.
- -name pattern: Vráti hodnotu true, ak sa názov súboru zhoduje s poskytnutým vzorom shellu.
- -iname pattern: Vráti hodnotu true, ak sa názov súboru zhoduje s poskytnutým vzorom shellu. Pri porovnávaní sa nerozlišujú malé a veľké písmená.
- -path pattern: Vráti hodnotu true, ak sa názov súboru s cestou zhoduje so vzorom shellu.
- -regex vzor: Vráti hodnotu true, ak sa názov súboru s cestou zhoduje s regulárnym výrazom.
- -size n: Vráti hodnotu true, ak je veľkosť súboru n blokov.
- -perm - režim: Vráti hodnotu true, ak sú pre súbor nastavené všetky bity povolení pre režim.
- -typ c: Vráti hodnotu true, ak je súbor typu c (napr. „b“ pre súbor bloku zariadenia, „d“ pre adresár atď.).
- -username: Vráti hodnotu true, ak je súbor vo vlastníctve používateľského mena „name“.
-
- Výrazy akcií sa používajú na definovanie akcií, ktoré majú vedľajšie účinky a môžu vracať hodnotu true alebo false. Ak nie sú zadané akcie, vykoná sa akcia „-print“ pre všetky zodpovedajúce súbory.
-
- -delete: Odstráni zhodný súbor a v prípade úspechu vráti true.
- -exec príkaz: Vykoná daný príkaz pre každý zodpovedajúci súbor a vráti true, ak je návratová hodnota 0.
- Príkaz -ok: Rovnako ako výraz „exec“, ale najskôr sa potvrdí s používateľom.
- -ls: Uveďte zodpovedajúci súbor podľa formátu „ls -dils“.
- -print: Vytlačí názov zodpovedajúceho súboru.
- -prune: Ak je súbor adresár, nezostupujte do neho a vráťte hodnotu true.
-
- Výraz sa vyhodnocuje zľava doprava a je zostavený pomocou nasledujúcich operátorov.
-
- ( expr ) : Používa sa na vynútenie prednosti.
- ! expr: Používa sa na vyvrátenie výrazu.
- expr1 -do expr2: Výsledkom je „a“ z dvoch výrazov. Expr2 sa hodnotí iba z toho, že expr1 je pravdivý.
- expr1 expr2: Operátor „a“ je v tomto prípade implicitný.
- expr1 -alebo expr2: Výsledkom je ‚alebo‘ z dvoch výrazov. Expr2 sa hodnotí iba z toho, že expr1 je false.
-
Príklady
Zoznam všetkých súborov nájdených v aktuálnom adresári a jeho hierarchii
$ find.
Zoznam všetkých súborov nájdených v aktuálnej hierarchii a celá hierarchia uvedená nižšie / home / xyz
$ find. /home/XYZ
Vyhľadajte súbor podľa názvu abc v aktuálnom adresári a jeho hierarchii
$ find ./ -name abc
Vyhľadajte adresár podľa názvu xyz v aktuálnom adresári a jeho hierarchii
$ find ./ -type d -name xyz
Vyhľadajte súbor pod menom abc.txt pod aktuálnym adresárom a vyzvite používateľa, aby odstránil každú zhodu.
Upozorňujeme, že reťazec „{}“ je počas spustenia nahradený skutočným názvom súboru a znakom „;“ reťazec sa používa na ukončenie príkazu, ktorý sa má vykonať.
$ find ./ -name abc.txt -exec rm -i {} ;
Vyhľadajte súbory, ktoré boli za posledných 7 dní upravené, pod aktuálnym adresárom
$ find ./ -mtime -7
Vyhľadajte súbory, ktoré majú všetky povolenia nastavené v aktuálnej hierarchii
$ find ./ -perm 777
Záver
Stručne povedané, príkaz Find Find v systéme Unix vráti všetky súbory pod aktuálnym pracovným adresárom. Ďalej príkaz find umožňuje užívateľovi určiť akciu, ktorá sa má vykonať s každým priradeným súborom.
=> Kliknutím sem zobrazíte kompletnú sériu výukových programov pre Unix
Odporúčané čítanie
- Vystrihnite príkaz v systéme Unix s príkladmi
- Príkaz Ls v systéme Unix s príkladmi
- Manipulácia so súbormi v systéme Unix: Prehľad systému súborov Unix
- Syntax príkazov Unix Cat, možnosti s príkladmi
- Príkaz Grep v systéme Unix s jednoduchými príkladmi
- Unixový príkaz na triedenie so syntaxou, možnosťami a príkladmi
- Príkaz Tar v systéme Unix na vytváranie záloh (príklady)
- Ako porovnávať dva súbory v systéme Unix: Príkazy na porovnávanie súborov