find command unix
Introducere în Găsirea comenzii în Unix: Căutați fișiere și directoare cu Unix Găsește fișier
Comanda Unix find este un utilitar puternic pentru a căuta fișiere sau directoare.
Căutarea se poate baza pe diferite criterii, iar fișierele potrivite pot fi rulate prin acțiuni definite. Această comandă coboară recursiv ierarhia fișierelor pentru fiecare cale specificată.
=> Faceți clic aici pentru seria Unix Tutorial complet
Ce veți învăța:
este cheia de rețea parola wifi
Găsiți comanda în Unix
Sintaxă:
find (options) (paths) (expression)
Opțiunile pentru această comandă sunt utilizate pentru a specifica modul în care trebuie tratate legăturile simbolice. Acesta este urmat de setul de căi de căutat. Dacă nu sunt specificate căi, atunci este utilizat directorul curent. Expresia dată este apoi rulată pe fiecare dintre fișierele găsite în căi.
Expresia constă dintr-o serie de opțiuni, teste și acțiuni, fiecare returnând un boolean. Expresia este evaluată de la stânga la dreapta pentru fiecare fișier din cale până când se determină rezultatul, adică se cunoaște că rezultatul este adevărat sau fals.
- Expresiile de opțiuni sunt folosite pentru a constrânge operația de găsire și pentru a reveni întotdeauna adevărat.
-
- -depth: procesează conținutul directorului înainte de a procesa directorul în sine.
- -maxdepth: nivelurile maxime sub căile furnizate pentru a coborî pentru un meci.
- -mindepth: nivelurile min dincolo de căile furnizate să coboare înainte de potrivire.
-
- Expresiile de testare sunt folosite pentru a evalua proprietățile specifice fișierelor și pentru a returna adevărat sau fals în consecință. (Oriunde se folosește un număr 'n': fără nici un prefix, potrivirea este pentru valoarea exactă a lui n; cu un prefix '+', potrivirea este pentru valori mai mari decât n; iar cu un prefix '-', potrivirea este pentru valori mai mici decât n.)
-
- -atime n: Returnează adevărat dacă fișierul a fost accesat acum n zile.
- -ctime n: Returnează true dacă starea fișierului a fost modificată acum n zile.
- -mtime n: Returnează true dacă conținutul fișierului a fost modificat acum n zile.
- -name pattern: Returnează true dacă numele fișierului se potrivește cu modelul shell furnizat.
- -name pattern: Returnează true dacă numele fișierului se potrivește cu modelul shell furnizat. Potrivirea aici nu este sensibilă la majuscule.
- -path pattern: Returnează true dacă numele fișierului cu calea se potrivește cu modelul shell.
- -regex pattern: Returnează adevărat dacă numele fișierului cu calea se potrivește cu expresia regulată.
- -size n: Returnează true dacă dimensiunea fișierului este de n blocuri.
- -perm - mode: Returnează true dacă toți biții de permisiune pentru mod sunt setați pentru fișier.
- -tip c: Returnează adevărat dacă fișierul este de tip c (de exemplu, „b” pentru fișierul dispozitivului de blocare, „d” pentru director etc.).
- -nume utilizator: Returnează adevărat dacă fișierul este deținut de numele de utilizator „nume”.
-
- Expresiile de acțiune sunt utilizate pentru a defini acțiuni care au efecte secundare și care pot reveni adevărate sau false. Dacă nu sunt specificate acțiuni, acțiunea „-print” se efectuează pentru toate fișierele potrivite.
-
- -ștergeți: ștergeți fișierul potrivit și reveniți adevărat dacă reușiți.
- -exec comanda: Executați comanda dată pentru fiecare fișier care se potrivește și reveniți adevărat dacă valoarea returnată este 0.
- -ok comanda: Ca expresia ‘exec’, dar confirmă mai întâi cu utilizatorul.
- -ls: enumeră fișierul care se potrivește ca format „ls -dils”.
- -print: Imprimați numele fișierului care se potrivește.
- -prune: Dacă fișierul este un director, nu coborâți în el și reveniți la adevărat.
-
- Expresia este evaluată de la stânga la dreapta și este pusă împreună folosind următorii operatori.
-
- ( expr ) : Folosit pentru a forța precedenta.
- ! expr: Folosit pentru a nega o expresie.
- expr1 -la expr2: Rezultatul este un „și” al celor două expresii. Expr2 este evaluat doar de expr1 este adevărat.
- expr1 expr2: Operatorul „și” este implicit în acest caz.
- expr1 -sau expr2: Rezultatul este un „sau” al celor două expresii. Expr2 este evaluat doar de expr1 este fals.
-
Exemple
Enumerați toate fișierele găsite în directorul curent și ierarhia acestuia
$ find.
Enumerați toate fișierele găsite în ierarhia curentă și toată ierarhia de mai jos / home / xyz
$ find. /home/XYZ
Căutați un fișier cu numele abc în directorul curent și ierarhia acestuia
$ find ./ -name abc
Căutați un director cu numele xyz în directorul curent și ierarhia acestuia
$ find ./ -type d -name xyz
Căutați un fișier cu numele abc.txt sub directorul curent și solicitați utilizatorului să șteargă fiecare potrivire.
Rețineți că șirul „{}” este înlocuit cu numele real al fișierului în timpul rulării și că „;” șirul este folosit pentru a termina comanda de executat.
$ find ./ -name abc.txt -exec rm -i {} ;
Căutați fișiere care au fost modificate în ultimele 7 zile sub directorul curent
$ find ./ -mtime -7
Căutați fișiere care au toate permisiunile setate în ierarhia curentă
$ find ./ -perm 777
Concluzie
Pe scurt, Găsiți comanda în Unix returnează toate fișierele de sub directorul de lucru curent. Mai mult, comanda find permite utilizatorului să specifice o acțiune care trebuie întreprinsă pentru fiecare fișier potrivit.
=> Faceți clic aici pentru seria Unix Tutorial complet
Lectură recomandată
- Tăiați comanda în Unix cu exemple
- Comanda Ls în Unix cu exemple
- Manipularea fișierelor în Unix: Prezentare generală a sistemului de fișiere Unix
- Sintaxa de comandă Cat Unix, Opțiuni cu exemple
- Comanda Grep în Unix cu exemple simple
- Comanda de sortare Unix cu sintaxă, opțiuni și exemple
- Comanda Tar în Unix pentru a crea copii de rezervă (exemple)
- Cum se compară două fișiere în Unix: comenzi de comparare a fișierelor