find command unix
Úvod do příkazu Najít v Unixu: Prohledávejte soubory a adresáře pomocí příkazu Unix Najít soubor
Příkaz Unix find je mocný nástroj pro vyhledávání souborů nebo adresářů.
Hledání může být založeno na různých kritériích a odpovídající soubory lze spustit prostřednictvím definovaných akcí. Tento příkaz rekurzivně sestupuje hierarchii souborů pro každou zadanou cestu.
=> Kliknutím sem zobrazíte kompletní sérii výukových programů pro Unix
Co se naučíte:
otázky a odpovědi se základní technickou podporou
Najděte příkaz v Unixu
Syntax:
find (options) (paths) (expression)
Možnosti tohoto příkazu slouží k určení, jak se má zacházet se symbolickými odkazy. Poté následuje sada cest, které se mají hledat. Pokud nejsou zadány žádné cesty, použije se aktuální adresář. Daný výraz se poté spustí na každém ze souborů nalezených v cestách.
Výraz se skládá z řady možností, testů a akcí, z nichž každá vrací logickou hodnotu. Výraz je vyhodnocován zleva doprava pro každý soubor v cestě, dokud není určen výsledek, tj. Je známo, že je výsledek pravdivý nebo nepravdivý.
- Výrazy možností se používají k omezení operace hledání a vždy vrátí true.
-
- -depth: zpracuje obsah adresáře před zpracováním samotného adresáře.
- -maxdepth: maximální úrovně pod zadanými cestami pro sestup na zápas.
- -mindepth: minimální úrovně nad poskytnutými cestami k sestupu před párováním.
-
- Testovací výrazy se používají k vyhodnocení konkrétních vlastností souborů a odpovídajícím způsobem vrátí true nebo false. (Kdekoli se použije počet 'n': bez jakékoli předpony je shoda pro přesnou hodnotu n; s předponou '+' je shoda pro hodnoty větší než n; a s předponou '-' je shoda pro hodnoty menší než n.)
-
- -atime n: Vrátí hodnotu true, pokud byl soubor před n dny zpřístupněn.
- -ctime n: Vrátí hodnotu true, pokud byl před n dny změněn stav souboru.
- -mtime n: Vrátí hodnotu true, pokud byl před n dny upraven obsah souboru.
- -name pattern: Vrací true, pokud se název souboru shoduje s poskytnutým vzorem prostředí.
- -iname pattern: Vrací true, pokud se název souboru shoduje s poskytnutým vzorem prostředí. Při porovnávání se nerozlišují velká a malá písmena.
- -path pattern: Vrací true, pokud název souboru s cestou odpovídá vzoru shellu.
- -regex pattern: Vrací true, pokud se název souboru s cestou shoduje s regulárním výrazem.
- -size n: Vrací true, pokud je velikost souboru n bloků.
- -perm - mode: Vrací true, pokud jsou pro soubor nastaveny všechny bity oprávnění pro režim.
- -typ c: Vrací true, pokud je soubor typu c (např. „b“ pro soubor bloku zařízení, „d“ pro adresář atd.).
- -username: Vrátí hodnotu true, pokud je soubor vlastněn uživatelským jménem „name“.
-
- Výrazy akce se používají k definování akcí, které mají vedlejší účinky a mohou vrátit hodnotu true nebo false. Pokud nejsou zadány žádné akce, provede se akce „-print“ pro všechny odpovídající soubory.
-
- -delete: Odstranit uzavřený soubor a v případě úspěchu vrátit true.
- -exec příkaz: Spustí daný příkaz pro každý odpovídající soubor a vrátí true, pokud je návratová hodnota 0.
- Příkaz -ok: Jako výraz ‚exec ', ale nejprve se potvrdí s uživatelem.
- -ls: Seznam odpovídajících souborů ve formátu „ls -dils“.
- -print: Vytiskne název shodného souboru.
- -prune: Pokud je soubor adresář, nesestupujte do něj a vraťte hodnotu true.
-
- Výraz je vyhodnocen zleva doprava a je sestaven pomocí následujících operátorů.
-
- ( expr ) : Používá se k vynucení priority.
- ! expr: Používá se k negaci výrazu.
- expr1 -na expr2: Výsledkem je „a“ dvou výrazů. Expr2 je vyhodnocen pouze z expr1 je true.
- expr1 expr2: Operátor „a“ je v tomto případě implicitní.
- expr1 -nebo expr2: Výsledkem je „nebo“ dvou výrazů. Expr2 je vyhodnocen pouze z expr1 je false.
-
Příklady
Seznam všech souborů nalezených v aktuálním adresáři a jeho hierarchii
$ find.
Seznam všech souborů nalezených v aktuální hierarchii a všechny hierarchie níže / home / xyz
$ find. /home/XYZ
Vyhledejte soubor podle názvu abc v aktuálním adresáři a jeho hierarchii
$ find ./ -name abc
Vyhledejte adresář podle názvu xyz v aktuálním adresáři a jeho hierarchii
$ find ./ -type d -name xyz
Vyhledejte soubor pod názvem abc.txt pod aktuálním adresářem a vyzvěte uživatele k odstranění každé shody.
Řetězec „{}“ je za běhu nahrazen skutečným názvem souboru a znakem „;“ řetězec se používá k ukončení příkazu, který má být proveden.
$ find ./ -name abc.txt -exec rm -i {} ;
Vyhledejte soubory, které byly za posledních 7 dní upraveny pod aktuálním adresářem
$ find ./ -mtime -7
Vyhledejte soubory, které mají všechna oprávnění nastavená v aktuální hierarchii
$ find ./ -perm 777
Závěr
Stručně řečeno, příkaz Najít v Unixu vrátí všechny soubory pod aktuálním pracovním adresářem. Příkaz find dále umožňuje uživateli určit akci, která má být provedena u každého spárovaného souboru.
=> Kliknutím sem zobrazíte kompletní sérii výukových programů pro Unix
Doporučené čtení
- Vyjmout příkaz v Unixu s příklady
- Příkaz LS v Unixu s příklady
- Manipulace se soubory v systému Unix: Přehled systému souborů Unix
- Syntaxe příkazů Unix Cat, možnosti s příklady
- Příkaz Grep v Unixu s jednoduchými příklady
- Unixový příkaz pro řazení se syntaxí, možnostmi a příklady
- Příkaz Tar v Unixu pro vytváření záloh (příklady)
- Jak porovnat dva soubory v Unixu: Příkazy pro porovnání souborů