Exclude directoare în Linux Find

Exclude Directoare In Linux Find



Când lucrați cu Linux, este posibil să obțineți o instanță în care doriți să localizați rapid un fișier în mașina dvs. Linux oferă diferite comenzi de căutare, inclusiv comanda „find” care vă permite să găsiți un anumit fișier. Singurul dezavantaj este că comanda generează numeroase dezordine și fișiere. Cu toate acestea, dacă sunteți sigur că fișierul țintă nu se află într-un director dat, îl puteți exclude din comanda „găsire” pentru a reduce rezultatul căutării.

Această postare acoperă ce este comanda „find” și cum funcționează. În plus, vom vedea cum puteți utiliza comanda în timp ce excludeți directoarele din Linux. Citește mai departe!

Lucrul cu comanda Find

Comanda „găsește” în Linux ajută la localizarea fișierelor și directoarelor pentru a evita nevoia de a le găsi manual. Folosește următoarea sintaxă:







găsiți <țintă>

Iată un exemplu în care încercăm să găsim un fișier numit „linuxhint.c” în directorul principal:





Ieșirea oferă calea absolută pentru a găsi fișierul țintă. Să presupunem că vrem să găsim fișierele folosind un model. Să presupunem că vrem să găsim orice fișier text în fișierul Documente/ pe sistemul nostru Linux. Specificăm comanda noastră așa cum este ilustrat în următoarele:





Observați modul în care comanda „find” scoate toate directoarele care conțin fișierele text. Acesta este un exemplu simplu de utilizare a comenzii Linux „find”.



Cum să excludeți directoarele din Linux Găsiți

Când executați comanda „find”, aceasta caută în directorul și subdirectoarele specificate. Utilizați oricare dintre următoarele trei metode pentru a exclude un subdirector din căutare:

1. Opțiunea Prune

Pentru demonstrație, folosim linuxhint/ . Putem vedea că are trei subdirectoare, așa cum este afișat în imaginea următoare:

Când este utilizată cu -print, opțiunea „prune” ajută la excluderea oricăror subdirectoare specificate atunci când lucrați cu comanda „find”. În imaginea anterioară, putem folosi comanda „find” și da calea către directorul Linuxhint. Apoi, specificați să excludeți dir2 din rezultatul de căutare.

Executăm comanda noastră după cum urmează:

găsiți /home/kyle/Desktop/linuxhint/ -path /home/kyle/Desktop/linuxhint/dir2 -prune -o -print

Observați cum dir2 nu este afișat nicăieri în ieșire, ceea ce confirmă că am reușit să-l excludem.

De asemenea, putem executa aceeași comandă într-o versiune prescurtată, așa cum este afișată în următoarele:

De asemenea, puteți exclude numeroase directoare. Pentru asta, folosim opțiunea -o. Următorul exemplu exclude dir1 și dir3 pentru a lăsa doar dir2. Dacă sunteți sigur că fișierul sau folderul pe care doriți să-l găsiți nu se află în celelalte directoare, această opțiune reduce rezultatul căutării.

2. Prin opțiunea „Nu”.

În interogarea de căutare, este posibil să adăugați „nu” pentru a specifica ce directoare să excludeți. Implementarea sa este mai simplă decât opțiunea de tăiere.

Iată sintaxa de utilizat:

găsiți [cale] -type f -not -path ‘*/directory-to-exclude/*’

Să presupunem că vrem să excludem dir1 din ieșirea de căutare „găsește” pe care am implementat-o ​​cu opțiunea de tăiere. Executăm comanda după cum urmează:

găsi . -type f -not -path ‘*/dir2/*’

Obținem aceeași ieșire ca atunci când folosim opțiunea de tăiere. Directorul specificat este exclus; numai subdirectoarele rămase apar în rezultatul căutării.

3. Prin „!” Opțiune

Ultima metodă de excludere a directoarelor din comanda Linux „find” este adăugarea „!” operator. Funcționează ca operatorul „nu”, iar sintaxa sa este aproape identică.

găsiți [calea] -type f ! -cale „*/directory-to-exclude/*”

Să presupunem că repetăm ​​exemplul anterior pentru a exclude dir2 folosind „!” operator. Încă obținem aceeași ieșire. Doar o secțiune a comenzii pe care o folosim s-a schimbat.

Acestea sunt cele trei moduri de a exclude directoarele din comanda Linux „find”.

Concluzie

Comanda Linux „găsește” este utilă pentru a localiza rapid fișierele și folderele. Devine mai bine, deoarece puteți exclude directoarele din comanda de căutare pentru a reduce rezultatul căutării. Pentru a exclude directoarele, puteți folosi „prune”, „nu” sau „!” Opțiuni. Această postare a discutat cum funcționează cele trei opțiuni cu exemplele date de excludere a directoarelor. Încearcă!