Najít Příkaz v Linuxu (Najít Soubory a Adresáře)

0 Comments

find příkaz je jedním z nejmocnějších nástrojů v systému Linux administrátory arsenal. Vyhledává soubory a adresáře v hierarchii adresářů na základě daného výrazu uživatele a může provádět akce zadané uživatelem na každém shodném souboru.

příkazfind můžete použít k vyhledávání souborů a adresářů na základě jejich oprávnění, typu, data, vlastnictví, velikosti a dalších., Může být také kombinován s dalšími nástroji, jako je grep nebo sed .

najít Syntaxi Příkazu #

obecná syntaxe find příkazu je následující:

  • options atribut controls léčbě symbolické odkazy, možnosti ladění a optimalizace metody.
  • atributpath... definuje výchozí adresář nebo adresáře, kde find prohledá soubory.,
  • atributexpression se skládá z možností, vzorů vyhledávání a akcí oddělených operátory.

pro vyhledávání souborů v adresáři musí mít uživatel vyvolávající příkaz find oprávnění ke čtení v tomto adresáři.

podívejme se na následující příklad:

Najít Soubory podle Názvu #

Hledání souborů podle názvu je asi nejčastější použití find příkaz., Chcete-li najít soubor podle jeho názvu, použijte volbu -name následovanou názvem souboru, který hledáte.

například, chcete-li vyhledat soubor s názvem document.pdf /home/linuxize adresář, měli byste použít následující příkaz:

spustit případ-necitlivý vyhledávání, změnit na -name -iname:

výše uvedený příkaz bude odpovídat „Dokumentu.pdf“, “ dokument.pdf“..atd.,

najít soubory podle přípony #

vyhledávání souborů podle přípony je stejné jako vyhledávání souborů podle názvu. Chcete-li například najít všechny soubory, které končí s .log.gz uvnitř /var/log/nginx directory, zadejte:

je důležité zmínit, že musíte buď citovat vzor nebo útěk hvězdička * symbol s lomítkem \ tak, že to nemá se interpretuje shell při použití zástupný znak.,

Chcete-li najít všechny soubory, které neodpovídají regexu*.log.gz můžete použít volbu-not. Chcete-li například najít všechny soubory, které nekončí v *.log.gz použití:

Najít Soubory podle Typu #

Někdy budete muset hledat pro konkrétní typy souborů, jako jsou běžné soubory, adresáře, nebo symbolické odkazy. V Linuxu je vše soubor.,div>: pojmenované roury (FIFO)

  • s: zásuvky
  • například, najít všechny adresáře v aktuální pracovní adresář , měli byste použít:

    common příkladem může být rekurzivně webové stránky změnit oprávnění souboru 644 a adresář oprávnění 755 chmod příkaz:

    Najít Soubory podle Velikosti #

    najít soubory na základě velikosti souboru, projít -size parametr spolu s velikostí kritéria.,9fdb538a6b“>: 512-byte bloků (výchozí)

  • c: bajty
  • w: dvou-byte slova
  • k: Kb
  • M: Mb
  • G: Gb
  • následující příkaz najde všechny soubory přesně 1024 bajtů uvnitř /tmp adresáře:

    find příkaz také umožňuje vyhledávat soubory, které jsou větší nebo menší než zadaná velikost.,

    v následujícím příkladu hledáme všechny soubory menší než 1MB uvnitř aktuálního pracovního adresáře. Všimněte si, minus - symbol než hodnota velikosti:

    Pokud chcete hledat pro soubory s velikostí větší než 1MB, pak budete muset použít plus + symbol:

    můžete dokonce vyhledat soubory v rozsahu velikostí., Následující příkaz najde všechny soubory mezi 1 2MB:

    Najít Soubory podle Data Modifikace #

    find příkaz můžete také vyhledávat soubory na základě jejich poslední modifikace, přístupu, nebo změna času.

    stejné jako při vyhledávání podle velikosti, použijte symboly plus a minus pro „větší než“nebo“ menší než“.

    Řekněme, že před několika dny jste upravili jeden z konfiguračních souborů dovecot, ale zapomněli jste, který z nich., Můžete snadno filtrovat všechny soubory v /etc/dovecot/conf.d adresář, který končí .conf a byl upraven v posledních pěti dny:

    Zde je další příklad filtrování souborů na základě data modifikace pomocí -daystart možnost., Níže uvedený příkaz vypíše všechny soubory v /home adresáře, které byly změněny 30 nebo více dny:

    Najít Soubory podle Oprávnění #

    -perm možnost vám umožní vyhledat soubory na základě soubor permissions.,

    chcete-li například najít všechny soubory s oprávněními přesně 775 uvnitř /var/www/html adresář, měli byste použít:

    můžete prefix číselné režimu s minus - nebo lomítko /.

    když se jako předpona použije lomítko /, musí mít alespoň jedna kategorie (uživatel, skupina nebo jiné) alespoň příslušné bity nastavené pro shodu souboru.,

    Vezměme si následující příklad příkazu:

    výše uvedený příkaz bude odpovídat všechny soubory s číst oprávnění nastavit buď pro uživatele, skupiny, nebo ostatní.

    Pokud se jako předpona použije mínus -, pak musí být soubor nastaven alespoň na zadané bity., Následující příkaz vyhledá soubory, které mají číst a zapisovat oprávnění pro vlastníka a skupinu a jsou čitelné pro ostatní uživatele:

    Najít Soubory podle Vlastníka #

    najít soubory ve vlastnictví určitého uživatele nebo skupiny pomocí -user -group možnosti.

    například pro vyhledávání všech souborů a adresářů vlastněných uživatelem linuxize byste spustili:

    zde je příklad reálného světa., Řekněme, že chcete najít všechny soubory ve vlastnictví uživatele www-data a změnit vlastnictví odpovídající soubory www-data nginx:

    Najít a Odstranit Soubory, #

    odstranit všechny odpovídající soubory, append -delete možnost do konce zápasu výraz.

    ujistěte se, že používáte tuto možnost pouze tehdy, pokud jste si jisti, že výsledek odpovídá souborům, které chcete odstranit., Vždy je dobré vytisknout odpovídající soubory před použitím volby -delete.

    například, chcete-li odstranit všechny soubory končící s .temp /var/log/, měli byste použít:

    -delete varianta s extrémní opatrností. find příkaz je vyhodnocen jako výraz a pokud přidáte -delete možnost první příkaz smaže vše pod výchozí body, které jste zadali.,

    Když přijde do adresářů, find může odstranit pouze prázdné adresáře, stejně jako rmdir .

    závěr #

    ukázali jsme vám, jak používat příkaz find s různými možnostmi a kritérii.

    Tento článek by vám měl poskytnout základní znalosti o tom, jak najít soubory v systémech Linux. Můžete také navštívit stránkufind man a přečíst si všechny další výkonné možnosti příkazufind.


    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *