Jak používat příkaz Najít v Linuxu

Při práci v prostředí UNIX, jako je v tomto případě Linux, je ideální podrobně znát použití některých příkazů, které nám pomohou s více úkoly, ať už administrativními nebo osobními. Jedním z nich je příkaz Najít, který, jak naznačuje jeho název, slouží k hledání souborů nebo prvků, které jsou v operačním systému, jednoduchým, ale funkčním a úplným způsobem.

Když se rozhodneme použít příkaz find, můžeme vyhledat a vyhledat seznam souborů nebo adresářů na základě podmínek, které uvedeme v syntaxi použití, která má být spuštěna. Dále uvidíme, co je příkaz find a jak jej můžeme použít v Linuxu pomocí jeho různých parametrů.

Co je najítFind je příkaz v distribucích Linuxu, který je velmi užitečný, přestože je poněkud neznámý. Je to příkaz, který usnadní hledání souboru, když máme mnoho souborů, a je opravdu těžké jej najít. Kromě souborů můžete také prohledávat nebo mazat celé adresáře. Můžete vyhledávat pomocí konkrétních filtrů, jako je velikost, název, rozšíření, datum …

Filtrování vyhledávání pomocí funkce NajítJednou z velkých výhod použití tohoto příkazu je, že můžeme filtrovat výsledky podle různých proměnných, jako například:

  • Oprávnění
  • Skupiny
  • Uživatelé
  • Typ souboru
  • Datum vytvoření nebo úpravy
  • Velikost a více dostupných možností

Solvetic vysvětlí různé metody, jak efektivně používat příkaz Najít v Linuxu a pro tento případ použijeme Ubuntu 19.04. Uvidíme, jak můžeme použít příkaz find k vyhledávání a vyhledávání souborů pomocí filtrů pomocí terminálu Linux.

1. Jak hledat soubory podle názvu nebo přípony pomocí příkazů v Linuxu


Toto je nejpodstatnější část použití příkazu Najít, a proto je nutné znát název objektu nebo jeho příponu (.mp4, .txt ,. Jpg.webp atd.), Abychom získali přímý výsledek.

Krok 1
Například chceme najít soubor s názvem Solvetic.docx, který je ve složce na ploše, v tomto případě musíme přejít na tuto cestu a poté provést následující:

 find -name Solvetic.docx 
Krok 2
V důsledku toho uvidíme složku, kde je uvedený soubor hostován (pokud existuje):

Krok 3
Naopak, pokud chceme vidět všechny soubory podle konkrétní přípony, například .docx, provedeme následující:

 find -name "* .docx"
Krok 4
Hvězdička uvádí všechny soubory s touto příponou

Krok 5
Obecná syntaxe příkazu Najít je následující:

 najít [-H] [-L] [-P] [cesta …] [výraz] 
Krok 6
Tyto parametry jsou:

-HNesleduje symbolické odkazy, pouze s výjimkou případů, kdy jsou zpracovány argumenty příkazového řádku.

-LSledujte symbolické odkazy.

-PNikdy nenásleduje symbolické odkazy a je to výchozí možnost

Krok 7
Volba [cesta…] označuje umístění, kde má být vyhledávání v systému Linux prováděno. Parametr [výraz] mohou být operátory, možnosti, testy nebo akce, které mají být provedeny, vidíme, že ve výchozím nastavení příkaz Najít bude ignorovat dostupné symbolické odkazy, ale s -L je budeme hledat pro úplnější výsledky.
Když spustíme Najít, můžeme vybrat tři úrovně optimalizace:

  • -O1
  • -O2
  • -O3

Krok 8
Hodnota -O1 je výchozí volbou a její funkcí je přinutit příkaz Najít hledat podle názvu souboru, který jsme definovali. Úroveň -O2 se stará o upřednostnění filtrů názvů souborů, poté provede všechny filtry na základě typu souboru a později použije jiné podmínky pro úplné výsledky a úroveň -O3 provede hlubší optimalizaci s využitím všech zdrojů na maximum .

Najděte možnosti příkazůObecné možnosti Najít jsou:

  • -O1: výchozí hodnota, je to filtr na základě názvu uvedeného souboru.
  • -O2: Hledejte nejprve podle názvu souboru a poté podle jeho typu
  • -O3: Spusťte vyhledávání, které automaticky třídí výsledky na základě využití prostředků
  • -maxdepth X: Prohledá aktuální adresář a podadresáře na úrovních X.
  • -iname: Hledejte bez spoléhání na text.
  • -not: Vrací pouze výsledky, které neodpovídají vyhledávání
  • -type f: Hledat pouze soubory.
  • -type d: spusťte vyhledávání v adresáři

2. Jak najít soubory podle názvu nebo přípony pomocí příkazů nerozlišujících velká a malá písmena v systému Linux

Toto je metoda, která nám umožňuje najít soubory a zobrazit výsledky, které obsahují velká a malá písmena:

 find -iname solvetic.docx 

Vyhledejte jména v adresáříchPomocí této metody můžeme detekovat všechny adresáře s názvem Solvetic v domovském adresáři (/):

 find / -type d -name Solvetic

Najít soubory bez oprávnění 777Oprávnění 777 (Rwxrwxrwx) s těmi oprávněními, která nemají žádné omezení, to znamená, že k nim má přístup jakýkoli uživatel.
Chcete -li zobrazit soubory, které nemají toto oprávnění, provedeme následující:

 najít / typ f! -perm 777 

Nyní, pokud chceme vidět soubory, které mají oprávnění 777, spustíme:

 nalézt. -typ f -perm 0777 -tisk 

Najděte soubory SGID s 2644 oprávněnímiOprávnění 2644 jsou soubory, které mají oprávnění ke čtení a zápisu, takže abychom viděli tyto soubory, spustíme:

 najít / -perm 2644

Najděte soubory SUID v LinuxuSoubory SUID (Nastavit ID vlastníka až po spuštění) jsou speciální oprávnění k souboru udělená prvku a slouží k dočasnému udělení oprávnění uživateli za účelem spuštění programu nebo souboru s oprávněními vlastníka souboru.
Abychom je viděli, provedeme následující:

 najít / -perm / u = s

Hledat soubory SGIDSoubory SGID (Nastavit ID skupiny při spuštění) jsou speciální typ oprávnění k souborům, pomocí kterého je možné zdědit přístupová oprávnění přihlášeného uživatele. Chcete -li zobrazit tyto soubory, provedeme následující:

 find / -perm / g = s

Najděte soubory pouze pro čteníChcete-li zjistit, které soubory v systému Linux jsou jen pro čtení, spustíme:

 najít / -perm / u = r

Hledat spustitelné souboryPokud chceme s jistotou vědět, které soubory jsou spustitelné, můžeme použít následující řádek:

 najít / -perm / a = x

3. Jak najít soubory s oprávněními 777 a chmod 755 v systému Linux

Krok 1
Toto jsou speciální oprávnění ke čtení a zápisu, abychom viděli tyto soubory, které budeme spouštět:

 find / -type d -perm 777 -print -exec chmod 755 {} \;

Krok 2
Nyní, pokud chceme najít soubory s oprávněními 777 a chmod 644, spustíme:

 find / -type f -perm 0777 -print -exec chmod 644 {} \;

4. Najděte a odstraňte soubory pomocí příkazů v Linuxu

Najděte a odstraňte souborPomocí funkce Najít můžeme detekovat soubor a pokračovat v jeho odstranění, v tomto případě odstraníme soubor solvetic.docx, pro který spustíme následující:

 nalézt. -typ f -název "solvetic.docx" -exec rm -f {} \; 

Pokud chceme odstranit několik souborů, můžeme použít jejich příponu:

 nalézt. -typ f -název "* .docx" -exec rm -f {} \;

Vyhledejte prázdné soubory nebo adresářeMůžeme určit cestu, jako / tmp, k nalezení prázdných adresářů, v tomto případě provedeme následující:

 find / tmp -type d -empty

Chcete -li vyhledat prázdné soubory, spustíme:

 find / tmp -type f -empty

Najděte skryté souboryV Linuxu a ve všech systémech jsou některé soubory z bezpečnostních důvodů skryté, pokud je pro nějaký administrativní nebo podpůrný úkol vyžadováno zjistit, jaké to jsou, můžeme spustit následující příkaz s požadovanou cestou, v tomto případě domov:

 find / home -type f -name ". *"

Najděte soubory uživateleDalší z mnoha možností, které nám příkaz Najít nabízí, je detekovat soubory konkrétního uživatele, například najít všechny soubory solvétského uživatele v domovském adresáři, který se chystáme provést následující:

 find / home -uživatel solvetic

Najděte soubory z konkrétní skupinyAbychom našli prvky skupiny, spustíme následující řádek:

 find / home -group solvetic

5. Najděte soubory v časovém rozsahu pomocí příkazů v Linuxu

Krok 1
Pomocí příkazu Najít bude možné prohledávat soubory, které byly použity v určitém časovém období, například pro zobrazení souborů za posledních 30 dní, které byly upraveny, můžeme provést:

 najít / -mtime 30 

Krok 2
Chcete -li zobrazit soubory, které mají přístup, spustíme:

Krok 3
Chcete -li zobrazit soubory upravené v rozmezí dnů, například mezi 1 a 5, použijeme následující řádek:

 najít / -mtime +1 -mtime -5

Krok 4
Pokud chceme vidět soubory, které za poslední hodinu nebo minuty představovaly jakoukoli změnu, můžeme provést následující:

 najít / -cmin -45
Krok 5
Zobrazí se seznam souborů za posledních 45 minut:

Krok 6
Stejně tak můžeme vypsat seznam souborů, ke kterým se přistoupilo za určitý čas:

 najít / -amin -60 

6. Najděte soubory konkrétní velikosti pomocí příkazů v Linuxu

Krok 1
Je možné definovat velikost souboru v rámci vyhledávacích kritérií, a tak zobrazit všechny soubory, jejichž hmotnost je 10 MB, které spouštíme:

 najít / velikost 10M

Krok 2
Pro stanovení hmotnostního rozmezí použijeme:

 najít / -size + 15M -size -90M

Krok 3
Pokud z nějakého důvodu chceme detekovat a odstranit soubor s konkrétní velikostí, použijeme následující syntaxi:

 najít / -velikost + 200M -exec rm -rf {} \;
PoznámkaVerze find v Unixu má několik nedostatků, proto musíme náš příkaz upravit, abychom získali požadovaný výsledek, například:

  • Na linuxu
 nalézt. -velikost 50M | xargs ls -l
  • Na Unixu
 nalézt. -velikost 50M -print0 | xargs -0 ls -l 
Na úrovni skriptů jsou všechny výsledky s find pozitivní bez ohledu na to, zda výsledky získáme či nikoli, v linuxu máme možnost -print -quit pro případ, že výsledky nedostaneme.

Unixová verze Find tuto možnost postrádá a je nejlepší ji použít společně s grep například k ověření výsledku.

 čti -r a pokud najdeš. -maxdepth 1 -název "$ a" -tisk -konec | grep -q. pak echo „Soubor nalezen“ jinak echo „Nebyl nalezen žádný soubor“, pokud

7. Hledejte soubory graficky v Linuxu


Současné distribuce Linuxu s grafickým prostředím (GUI) nám nabízejí možnost pomocí integrovaného vyhledávače snadno detekovat požadované soubory, v případě Ubuntu 19.04 můžeme přistupovat k souborům a do vyhledávacího pole zadat požadovaný výraz pro okamžitě zobrazit související výsledky:

ZVĚTŠIT

Díky příkazu Najít a jeho různým variantám k získání co nejlepších výsledků vidíme, jak je hledání souborů v Linuxu skutečně dokončeno.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave