Jak hledat a hledat soubory v Linuxu pomocí příkazů

V prostředí Linuxu je často nutné hledat určité typy souborů a my neznáme správný způsob, jak je správně prohledávat, aniž bychom zbytečně ztráceli čas.

Pro distribuce Linuxu byl vyvinut příkaz nazvaný find, který byl vyvinut k rekurzivnímu filtrování objektů v souborovém systému na základě podmíněného mechanismu. Pomocí tohoto příkazu find můžeme vyhledat soubor nebo adresář v jeho systému souborů.

Pokud zahrneme parametr -exec, soubory lze najít a zpracovat okamžitě v rámci stejného příkazu.

1. Hledejte soubory podle názvu nebo přípony příkazů Linuxu


K vyhledání konkrétního souboru podle názvu nebo přípony můžeme použít příkaz find z příkazového řádku.

Jeho syntaxe je:

 find / home / username / -name "* .extension"
Například budeme hledat soubory končící na .gz:

ZVĚTŠIT

2. Praktické příkazy a syntaxe k použití s ​​příkazy find Linux


Pomocí příkazu find máme několik možností parametrů, jako například:
 najít možnosti výraz start / cesta
Atribut options bude řídit chování a způsob optimalizace procesu vyhledávání. Atribut home / path bude definovat adresář nejvyšší úrovně, kde find začne filtrovat.

Atribut výraz ovládá testy, které prohledávají hierarchii adresářů a vytvářejí výstup.
Můžeme například provést následující:

 najít -O3 -L / var / www / -name "* .html"
Tento příkaz umožňuje maximální úroveň optimalizace (-O3) a umožňuje sledovat symbolické odkazy (-L) a prohledávat celý strom adresářů na cestě / var / www / soubory končící na .html.

ZVĚTŠIT

3. Možnosti a optimalizace pomocí příkazů Find Linux


Výchozí konfigurace hledání pro hledání bude ignorovat symbolické odkazy (soubory zástupců), pokud chceme, aby následovaly a přijímaly symbolické odkazy, můžeme do příkazu přidat volbu -L, jak jsme viděli dříve. Find má tři (3) úrovně optimalizace, které jsou -O1, -O2 a -O3.

Optimalizace -O1 je výchozí a nutí vás hledat filtry podle názvu souboru před spuštěním všech ostatních testů.

Optimalizace na úrovni -O2 upřednostňuje filtry názvů souborů, jako v -O1, a poté spustí filtrování všech typů souborů, než bude pokračovat v dalších podmínkách náročnějších na zdroje. Optimalizace na úrovni -O3 umožňuje najít hlubší optimalizaci a změnit pořadí všech testů na základě jejich relativních výdajů a pravděpodobnosti lepších výsledků.

Některé z těchto možností jsou:

Je to filtr podle prvního názvu souboru

 -O1 (výchozí)

Nejprve použijte název souboru a poté typ souboru

 -O2

Změnit pořadí výsledkůUmožňuje vyhledávání automaticky změnit pořadí vyhledávání na základě efektivního využití zdrojů a pravděpodobnosti lepších výsledků.

 -O3

Hledá aktuální adresář i všechny úrovně X podadresářů hluboko

 -maximální hloubka X

Hledejte bez ohledu na velikost textu

 -jméno

Vrátí pouze výsledky, které neodpovídají testovacímu případu

 -ne

Proveďte vyhledávání souborů

 -typ f

Hledat adresáře

 -typ d

4. Najděte soubory podle časové úpravy příkazů Linuxu


Příkaz find má schopnost filtrovat hierarchii adresářů na základě poslední úpravy souboru.
Syntaxe jsou:
 find / -name "* conf" -mtime 8 find / home / user / -name "* conf" -mtime 2
První příkaz zobrazí seznam všech souborů v celém systému souborů, které končí znaky conf a byly upraveny za posledních 8 dní. Druhý příkaz filtruje domovský adresář uživatele pro soubory se jmény, které končí znaky conf a byly upraveny v předchozích 2 dnech.

Použijte Grep k vyhledání souborů založených na obsahu Příkazy LinuxPříkaz find může filtrovat hierarchii adresářů pouze podle názvu souboru a metadat, takže pokud potřebujete hledat podle obsahu souboru, použijte nástroj jako grep.

Použijeme následující syntaxi:

 nalézt. -type f -exec grep "příklad" '{}' \; -vytisknout
To vyhledá všechny objekty v aktuální hierarchii adresářů (.) Což je soubor (-type f) a poté spustí příkaz grep "příklad" pro každý soubor, který splňuje podmínky. Odpovídající soubory se vytisknou na obrazovku (-print). Rovnátka ({}) jsou zástupné symboly pro výsledky vyhledávání. {} Je uzavřeno v jednoduchých uvozovkách ('), aby se zabránilo vykreslování grep chybným názvem souboru. Příkaz -exec je ukončen středníkem "(;)", který musí být uvozen "(\;)", aby se zabránilo interpretaci shellem.

Jak hledat a zpracovávat soubory pomocí příkazu Najít Příkazy LinuxuPomocí volby -exec můžeme spouštět příkazy proti všem objektům, které odpovídají hledanému výrazu.

Jeho syntaxe je:

 nalézt. -název "rc.conf" -exec chmod o + r '{}' \;
Tím se vyfiltrují všechny objekty v aktuální hierarchii (.) U souborů s názvem rc.conf a spuštěním příkazu chmod nebo + r upravíte oprávnění výsledků hledání.

Find je tedy spojencem pro úplné vyhledávání souborů v Linuxu.

wave wave wave wave wave