Skip to content

Jak najít soubor v systému Linux pomocí příkazového řádku

8 de Červenec de 2021
uses of linux command find 2201100 55b9bcda07b4458d8c7d50ddcc249f3c

Co je třeba vědět

  • Příkaz používaný k hledání souborů se nazývá nalézt. Základní syntaxe příkazu find je následující: nalézt [filename].
  • Po nalézt, použijte zkratku k určení adresáře: „.„pro vnořené složky;“/„pro celý souborový systém;“~„pro domovský adresář aktivního uživatele.
  • Použijte výraz -název vyhledejte název souboru. Například: najít / jméno * .mp3 vyhledá v celém systému souborů soubor s názvem * .mp3.

Tento článek vysvětluje, co Linux nalézt příkaz je, nabízí zkratky umístění pro vyhledávání, běžné výrazy, příklad použití, vzory, jak posílat výstupy z příkazu find do souboru a jak najít a provést příkaz proti souboru.

Pomocí příkazu ‚find‘ vyhledejte soubor v systému Linux

Příkaz používaný k hledání souborů se nazývá nalézt. Základní syntaxe příkazu find je následující:

najít název souboru

Aktuálně aktivní cesta ve výchozím nastavení označuje umístění hledání. Chcete-li prohledat celou jednotku, zadejte následující příkaz:

najít / název souboru

Pokud však chcete prohledat složku, ve které se právě nacházíte, použijte následující syntaxi:

najít. název souboru

Při vyhledávání podle názvu na celé jednotce použijte následující syntaxi:

najít / jméno souboru

  • První část příkazu find je příkaz find.
  • Druhá část je, odkud začít hledat.
  • Další část je výraz, který určuje, co má najít.
  • Poslední část je název souboru, který chcete vyhledat.

Chcete-li vstoupit do shellu (někdy nazývaného okno terminálu) ve většině distribucí, klikněte na příslušnou ikonu nebo stiskněte Ctrl + Alt + T.

Hledat zkratky polohy

První argument po příkazu find je umístění, které chcete prohledat. I když můžete určit konkrétní adresář, můžete použít metaznak jako náhradu. Tři metaznaky, které pracují s tímto příkazem, zahrnují:

  • Doba (.): Určuje aktuální a všechny vnořené složky.
  • Přední lomítko (/): Určuje celý souborový systém.
  • Tilda (~): Určuje domovský adresář aktivního uživatele.

Prohledávání celého souborového systému může způsobit chyby s odepřeným přístupem. Spusťte příkaz se zvýšenými oprávněními (pomocí příkazu sudo), pokud potřebujete hledat na místech, kam váš standardní účet obvykle nemá přístup.

Výrazy

Nejběžnější výraz, který použijete, je -název, který vyhledává název souboru nebo složky. Můžete však použít i jiné výrazy:

  • -amin č: Soubor byl naposledy přístupný +/- n před minutami, podle toho, jak zadáte čas.
  • -odpověď: Vezme jiný soubor jako referenci, aby našel všechny soubory, které byly nedávno zpřístupněny, a referenční soubor.
  • – čas n: Soubor byl naposledy přístupný více / méně než n před dny, v závislosti na tom, jak zadáte cílový čas (n).
  • -cmin n: Soubor byl naposledy změněn n před minutami, v závislosti na tom, jak zadáte cílový čas (n).
  • Cnewer: Vezme jiný soubor jako referenci, aby našel všechny soubory, které byly nedávno zpřístupněny, a referenční soubor.
  • -čas n: Soubor byl naposledy přístupný více / méně než n před dny, v závislosti na tom, jak zadáte cílový čas (n).
  • -prázdný: Soubor je prázdný.
  • spustitelný: Soubor je spustitelný.
  • -Nepravdivé: Vždy nepravdivé.
  • -typ typu: Soubor je v zadaném systému souborů.
  • -gid n: Soubor patří do skupiny s ID n.
  • -skupinový název skupiny: Soubor patří do pojmenované skupiny.
  • – vzor jména: Vyhledejte symbolický odkaz, ale případ ignorujte.
  • -iname vzor: Vyhledejte soubor, ale případ ignorujte.
  • -inum n: Vyhledá soubor se zadaným inodem.
  • -ipath cesta: Vyhledejte cestu, ale případ ignorujte.
  • -exgex výraz: Vyhledejte výraz, ale případ ignorujte.
  • -odkazy n: Vyhledá soubor se zadaným počtem odkazů.
  • -jméno jména: Hledání symbolického odkazu.
  • -mmin n: Soubor byl naposledy přístupný +/- n před minutami, podle toho, jak zadáte čas.
  • -mtime n: Soubor byl naposledy přístupný více / méně než n před dny, v závislosti na tom, jak zadáte cílový čas (n).
  • -jméno jméno: Vyhledá soubor se zadaným názvem.
  • -nové jméno: Vyhledá soubor upravený nověji než uvedený referenční soubor.
  • -skupina: Vyhledejte soubor bez ID skupiny.
  • -nouser: Hledání souboru bez připojeného uživatele.
  • -cesta cesta: Hledat cestu.
  • čitelný: Najít soubory, které jsou čitelné.
  • -regexový vzor: Hledání souborů odpovídajících regulárnímu výrazu.
  • -typ typu: Hledání konkrétního typu. Možnosti typu zahrnují:
    • -typ d: Directoris
    • -typ f: Soubory
    • -typ l: Symlinks
  • -uid uid: Číselné ID uživatele souboru je stejné jako uid.
  • -uživatelské jméno: Soubor je ve vlastnictví zadaného uživatele.
  • – zapisovatelný: Hledání souborů, do kterých lze zapisovat.

Příklad použití příkazu Najít

Zde je několik způsobů, jak můžete použít příkaz find.

Jak najít soubory, které jsou přístupné více než po určitý počet dní

Chcete-li najít všechny soubory ve vaší domovské složce, ke kterým jste přistupovali před více než 100 dny:

najít ~ -čas +100

Jak najít prázdné soubory a složky

Jak najít všechny prázdné soubory a složky ve vašem systému:

najít / -prázdné

Jak najít všechny spustitelné soubory

Vyhledání všech spustitelných souborů v počítači:

najít / spustit

Jak najít všechny čitelné soubory

Vyhledání všech čitelných souborů:

najít / čitelné

Vzory

Při hledání souboru můžete použít vzor. Vyhledejte například všechny soubory s příponou mp3:

najít / jméno * .mp3

V závislosti na používaném prostředí budete možná muset uniknout z hvězdičky. Pokud spustíte příkaz a nedosáhnete očekávaných výsledků, zkuste citovat celý vzor, ​​abyste unikli hvězdičce, například: najít / jméno ‚* .mp3‘

Terminál v Ubuntu Linux zobrazující příkaz „find / -name * .mp3“

Jak odeslat výstup z příkazu Najít do souboru

Hlavním problémem s příkazem find je, že může někdy vrátit příliš mnoho výsledků, aby bylo možné je zobrazit najednou. Potrubí výstup na příkaz ocasu, nebo výstup řádky do souboru následujícím způsobem:

najít / -název * .mp3 -tisk názevoffiletoprintto

Jak najít a provést příkaz proti souboru

Chcete-li vyhledat a upravit soubor současně, zadejte:

najít / -jméno souboru -exec nano ‚{}‘ ;

Výše uvedený příkaz vyhledá soubor s názvem souboru a poté spustí nano editor souboru, který najde. Nano je název příkazu, nikoli přesná část této syntaxe.