Vylúčiť adresáre v systéme Linux Find

Vylucit Adresare V Systeme Linux Find



Pri práci s Linuxom môžete získať inštanciu, v ktorej chcete rýchlo nájsť súbor vo svojom počítači. Linux ponúka rôzne vyhľadávacie príkazy vrátane príkazu „nájsť“, ktorý vám umožní nájsť konkrétny súbor. Jedinou nevýhodou je, že príkaz vydáva množstvo neporiadku a súborov. Ak ste si však istí, že cieľový súbor nie je v danom adresári, môžete ho vylúčiť v príkaze „nájsť“, aby ste znížili výstup vyhľadávania.

Tento príspevok popisuje, čo je príkaz „nájsť“ a ako funguje. Ďalej uvidíme, ako môžete použiť príkaz pri vylúčení adresárov v systéme Linux. Pokračuj v čítaní!

Práca s príkazom Nájsť

Príkaz „nájsť“ v systéme Linux pomáha nájsť súbory a adresáre, aby ste ich nemuseli hľadať manuálne. Používa nasledujúcu syntax:







nájsť

Tu je príklad, kde sa snažíme nájsť súbor s názvom „linuxhint.c“ v domovskom adresári:





Výstup poskytuje absolútnu cestu na nájdenie cieľového súboru. Predpokladajme, že chceme nájsť súbory pomocou vzoru. Povedzme, že chceme nájsť nejaké textové súbory v Dokumenty/ na našom systéme Linux. Náš príkaz špecifikujeme, ako je znázornené na nasledujúcom obrázku:





Všimnite si, ako príkaz „nájsť“ vypíše všetky adresáre, ktoré obsahujú textové súbory. Toto je jednoduchý príklad použitia príkazu „nájsť“ v systéme Linux.



Ako vylúčiť adresáre v systéme Linux Find

Keď spustíte príkaz „nájsť“, prehľadá zadaný adresár a podadresáre. Na vylúčenie podadresára z vyhľadávania použite ktorúkoľvek z nasledujúcich troch metód:

1. Možnosť slivky

Na demonštráciu používame linuxhint/ . Vidíme, že má tri podadresáre, ako je znázornené na nasledujúcom obrázku:

Keď sa používa s -print, možnosť „prune“ pomáha vylúčiť akékoľvek špecifikované podadresáre pri práci s príkazom „find“. Na predchádzajúcom obrázku môžeme použiť príkaz „nájsť“ a zadať cestu k adresáru Linuxhint. Potom zadajte, že chcete vylúčiť dir2 z výstupu vyhľadávania.

Náš príkaz vykonáme takto:

nájsť /home/kyle/Desktop/linuxhint/ -path /home/kyle/Desktop/linuxhint/dir2 -prune -o -print

Všimnite si, že dir2 sa nikde vo výstupe nezobrazuje, čo potvrdzuje, že sa nám ho podarilo vylúčiť.

Rovnaký príkaz môžeme vykonať aj v skrátenej verzii, ako je zobrazené v nasledujúcom texte:

Môžete tiež vylúčiť množstvo adresárov. Na to používame možnosť -o. Nasledujúci príklad vylučuje dir1 a dir3, aby zostal len dir2. Ak ste si istí, že súbor alebo priečinok, ktorý chcete nájsť, nie je v iných adresároch, táto možnosť zníži výstup vyhľadávania.

2. Cez možnosť „Nie“.

Vo vyhľadávacom dotaze je možné pridať „nie“, aby ste určili, ktoré adresáre sa majú vylúčiť. Jeho implementácia je priamočiarejšia ako možnosť slivky.

Tu je syntax, ktorú treba použiť:

nájsť [cesta] -typ f -nie -cesta ‚*/adresár-na-vylúčenie/*‘

Predpokladajme, že chceme vylúčiť dir1 vo výstupe vyhľadávania „nájsť“, ktorý sme implementovali s možnosťou prerezávania. Príkaz vykonáme nasledovne:

Nájsť . -napíšte f -nie -cesta '*/dir2/*'

Získame rovnaký výstup ako pri použití možnosti slivky. Zadaný adresár je vylúčený; iba zostávajúce podadresáre sa zobrazia vo výstupe vyhľadávania.

3. Prostredníctvom „!“ Možnosť

Posledným spôsobom vylúčenia adresárov v príkaze Linux „find“ je pridanie znaku „!“ operátor. Funguje ako operátor „nie“ a jeho syntax je takmer identická.

nájsť [cestu] -typ f ! -cesta '*/adresár-na-vylúčenie/*'

Predpokladajme, že zopakujeme predchádzajúci príklad, aby sme vylúčili dir2 pomocou „!“ operátor. Stále dostávame rovnaký výstup. Zmenila sa iba časť príkazu, ktorý používame.

Toto sú tri spôsoby vylúčenia adresárov v príkaze Linux „nájsť“.

Záver

Príkaz „nájsť“ v systéme Linux je užitočný pri rýchlom vyhľadávaní súborov a priečinkov. Je to lepšie, pretože môžete vylúčiť adresáre vo svojom vyhľadávacom príkaze, aby ste znížili výstup vyhľadávania. Na vylúčenie adresárov môžete použiť „prune“, „not“ alebo „!“ možnosti. Tento príspevok diskutoval o tom, ako fungujú tri možnosti s uvedenými príkladmi vylúčenia adresárov. Vyskúšaj to!