Najít podle jména
Nejjednodušší příkaz, který můžeme použít k vyhledání souboru, je konkrétní název v adresáři. Výhodou tohoto příkazu je, že bash najde soubor, i když je přítomen v jednom z rekurzivních adresářů uvnitř předané cesty k adresáři. Podívejme se na příklad:
najděte Code -name ifelse4.shTento příkaz najde soubor ifelse4.sh rekurzivně uvnitř adresáře Code. Podívejme se na výstup tohoto příkazu:
Najděte soubor podle názvu
Možnost jména, kterou jsme zmínili výše, rozlišuje velká a malá písmena. Pokud chcete soubor najít bez ohledu na velikost písmen v názvu, použijte následující příkaz: najděte Code -iname ifelse4.sh
Hledání souboru regulárním výrazem
Můžeme použít jednoduché regulární výrazy k nalezení souboru v adresáři, který odpovídá tomuto regulárnímu výrazu. Ukážeme to jednoduchým příkazem k vyhledání všech souborů s libovolným názvem as příponou .txt:
najít kód -regex ".* \.sh "S tímto příkazem se vrátíme:
Hledání souboru pomocí regexu
Pojďme pochopit, co tento příkaz znamená zde:
- -regex: To jen znamená, že dále předáme regulární výraz.
- V regulárním výrazu první tečka (.) znamená, že libovolný počet znaků v názvu souboru by měl odpovídat.
- Dále pomocí * porovnáme libovolný počet opakování libovolného znaku (kvůli období).
- Nakonec spojíme všechny soubory s .sh rozšíření.
Dobrou věcí na regulárním výrazu může být to, že může být vytvořen tak flexibilní, jak můžete definovat. Upravme výše uvedený příklad, abychom našli soubory s .sh a .přípona txt také:
najít kód -regex ".* \.sh | \.txt "Nalezení souborů upravených za posledních n minut
Snadné je také najít soubor, který byl změněn za posledních n minut. Podívejme se hned na příklad:
najít kód -mmin -90Podívejme se na výstup tohoto příkazu:
Hledání souboru upraveného za posledních 90 minut
Nalezení souborů upravených za posledních n dní
Snadné je také najít soubor, který byl změněn za posledních n dní. Podívejme se hned na příklad:
najít kód -mtime 0S tímto příkazem se vrátíme:
Najít soubor podle dnů
Hledání souborů podle oprávnění
Je také možné najít soubor se specifickými oprávněními. Můžeme najít soubory, které jsou přidruženy k uživateli nebo skupině uživatelů:
nalézt . -uživatel shubhamS tímto příkazem se vrátíme:
Hledání souborů patřících uživateli
Stejnou logiku můžeme použít také k vyhledání souborů patřících do skupiny uživatelů: nalézt . -kořen skupiny
Hledání souborů podle velikosti
Chcete-li najít soubory, které jsou větší než zadaná velikost, můžete je vyhledat pomocí následujícího příkazu:
najít kód - velikost +500S tímto příkazem se vrátíme:
Najděte soubor podle velikosti
Kromě bajtů lze velikost souboru zmínit jako:
- b: bloky 512 bajtů: Toto je výchozí jednotka, pokud není zadána žádná
- c: bajty
- k: kilobajtů
- M: megabajty
- G: gigabajty
Hledání souborů podle typu
Je možné najít soubor s typem. Pro příkaz find máme následující typy:
- d: adresář
- f: běžný soubor
- l: symbolický odkaz
- b: blok s vyrovnávací pamětí
- c: znak bez vyrovnávací paměti
- p: pojmenovaná roura
- s: zásuvka
Pojďme pomocí příkazu najít běžný soubor:
nalézt . -typ fS tímto příkazem se vrátíme:
Najděte soubory podle typu
Hledání souborů s více podmínkami
Jako poslední příklad je možné najít soubory připojením více podmínek, jak jsme viděli výše. Zkusme nyní více podmínek v jednom příkazu hledání:
nalézt . -velikost + 1c - a - jméno "*.sh "S tímto příkazem se vrátíme:
Najděte soubory s více podmínkami
Závěr
V této lekci jsme se podívali na to, jak můžeme pomocí příkazu find najít všechny soubory s nějakým názvem nebo podle oprávnění nebo podle typu. Můžeme dokonce připojit několik podmínek, abychom našli soubory, které splňují všechny podmínky. Hrajte s příkazy ještě více, abyste financovali sílu relací.