Linux/Mac Terminal Tutorial: How To Use The find Command
Cuprins:
- Linux
findSintaxa de comandă - Găsiți fișiere după nume
- Găsiți fișiere după extensie
- Găsiți fișiere după tip
- Găsiți fișiere după dimensiune
- Găsiți fișiere după data modificării
- Găsiți fișiere după permisiuni
- Găsiți fișiere de proprietar
- Găsiți și ștergeți fișierele
- Concluzie
Comanda Find este unul dintre cele mai puternice instrumente din arsenalul administratorilor sistemului Linux. Acesta caută fișiere și directoare într-o ierarhie de directoare pe baza unei expresii date de utilizator și poate efectua acțiuni specificate de utilizator pe fiecare fișier asociat.
Puteți utiliza comanda
find
pentru a căuta fișiere și directoare în funcție de permisiunile, tipul, data, proprietatea, dimensiunea și multe altele. Poate fi folosit și în combinație cu alte instrumente, cum ar fi
grep
sau
sed
.
Linux
find
Sintaxa de comandă
Sintaxa generală a comenzii
find
este următoarea:
find
- Atributul
optionscontrolează tratamentul legăturilor simbolice, opțiunile de depanare și metoda de optimizare.path…atributul definește directorul de pornire sau directoarele unde găsirea va căuta în fișiere. Atributul deexpressioneste format din opțiuni, modele de căutare și acțiuni separate de operatori.
Pentru a căuta fișierele dintr-un director, utilizatorul care invocă comanda
find
trebuie să aibă permisiuni de citire în acel director.
Să aruncăm o privire la următorul exemplu:
find -L /var/www -name "*.js"
- Opțiunea
-L(opțiuni) indică comandafindsă urmeze legături simbolice./var/www(calea…) specifică directorul care va fi căutat.-name "*.js(expresia)-name "*.jsspune căfindfișierele de căutare care se termină cu.js(fișiere JavaScript).
Găsiți fișiere după nume
Găsirea fișierelor după nume este probabil cea mai frecventă utilizare a comenzii
find
. Pentru a găsi un fișier după numele său, opțiunea
-name
urmat numele fișierului pe care îl căutați.
De exemplu, pentru a căuta un fișier numit
document.pdf
în directorul
/home/linuxize
, utilizați următoarea comandă:
find /home/linuxize -type f -name document.pdf
Pentru a rula o căutare nesensibilă cu majuscule, schimbați opțiunea
-name
cu
-iname
:
find /home/linuxize -type f -iname document.pdf
Comanda de mai sus se va potrivi cu „Document.pdf”, „DOCUMENT.pdf”..etc.
Găsiți fișiere după extensie
Căutarea fișierelor prin extensie este aceeași cu căutarea fișierelor după nume. De exemplu, pentru a găsi toate fișierele care se termină cu
.log.gz
în directorul
/var/log/nginx
puteți utiliza:
find /var/log/nginx -type f -name '*.log.gz'
Este important de menționat că atunci când utilizați caracterul wildcard, trebuie să citați modelul sau să scăpați simbolul asterisk
*
cu spatele
\
pentru a nu fi interpretat de shell.
Pentru a găsi toate fișierele care nu se potrivesc cu regex
*.log.gz
puteți utiliza opțiunea
*.log.gz
. De exemplu, pentru a găsi toate fișierele care nu se termină în
*.log.gz
ați utiliza:
find /var/log/nginx -type f -not -name '*.log.gz'
Găsiți fișiere după tip
Uneori poate fi necesar să căutați anumite tipuri de fișiere, cum ar fi fișiere normale, directoare sau simboluri. În Linux, totul este un fișier.
Pentru a căuta fișiere în funcție de tipul acestora, utilizați opțiunea
-type
și unul dintre următorii descriptori pentru a specifica tipul de fișier:
-
f: un fișier obișnuitd: directorl: link simbolicc: dispozitive cu caractereb: dispozitive de blocarep: pipe pipe (FIFO)s: socket
De exemplu, pentru a găsi toate directoarele din directorul de lucru curent, utilizați:
find. -type d
Exemplul obișnuit ar fi schimbarea recursivă a permisiunilor fișierului site-ului web la
644
și permisiunile directorului la
755
folosind comanda
chmod
:
find /var/www/my_website -type d -exec chmod 0755 {} ;
find /var/www/my_website -type f -exec chmod 0644 {} ;
Găsiți fișiere după dimensiune
Pentru a găsi fișiere bazate pe dimensiunea fișierului, treceți parametrul
-size
împreună cu criteriile de mărime. Puteți utiliza următoarele sufixe pentru a specifica dimensiunea fișierului:
-
b: blocuri de 512 octeți (implicit)c: octețiw: cuvinte din doi octețik: KilobytesM: MegabytesG: Gigabytes
Următoarea comandă va găsi toate fișierele cu exact
1024
octeți în directorul
/tmp
:
find /tmp -type f -size 1024c
Comanda Find vă permite, de asemenea, să căutați fișiere mai mari sau mai mici decât o dimensiune specificată.
În următorul exemplu, căutăm toate fișierele mai mici de
1MB
din directorul de lucru curent. Observați simbolul minus înainte de valoarea dimensiunii:
find. -type f -size -1M
find. -type f -size +1M
Puteți căuta chiar și fișiere într-un interval de dimensiuni. Următoarea comandă va găsi toate fișierele între
1
și
2MB
:
find. -type f -size +1M -size 21M
Găsiți fișiere după data modificării
Comanda Find poate căuta, de asemenea, fișiere pe baza ultimei modificări, accesare sau schimbare a timpului.
La fel ca atunci când căutați după dimensiune, utilizați simbolurile plus și minus pentru „mai mare decât” sau „mai puțin decât”.
Să zicem că acum câteva zile, ați modificat unul dintre fișierele de configurare dovecot, dar ați uitat care. Puteți filtra cu ușurință toate fișierele din directorul
/etc/dovecot/conf.d
care se încheie cu
.conf
și au fost modificate în ultimele cinci zile cu:
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
Iată un alt exemplu de filtrare a fișierelor bazate pe data modificării folosind opțiunea
-daystart
. Comanda de mai jos va enumera toate fișierele din directorul
/home
care au fost modificate acum
30
sau mai multe zile:
find /home -mtime +30 -daystart
Găsiți fișiere după permisiuni
Opțiunea
-perm
vă permite să căutați fișiere pe baza permisiunilor de fișiere.
De exemplu, pentru a găsi toate fișierele cu permisiuni de exact
775
în directorul
/var/www/html
, ar trebui să utilizați:
find /var/www/html -perm 644
Puteți prefixa modul numeric cu minus
-
sau slash
/
.
Când slash
/
este folosit ca prefix, atunci cel puțin o categorie (utilizator, grup sau altele) trebuie să aibă cel puțin biții respectivi pentru un fișier care să se potrivească.
Luați în considerare următorul exemplu de comandă:
find. -perm /444
Comanda de mai sus va potrivi toate fișierele cu permisiunile de citire setate fie pentru utilizator, grup sau pentru alții.
Dacă minus
-
este folosit ca prefix, atunci pentru ca fișierul să corespundă cel puțin biților specificați trebuie să fie setat. Următoarea comandă va căuta fișierele care au permisiunea de citire și scriere pentru proprietar și grup și care pot fi citite de alți utilizatori:
Găsiți fișiere de proprietar
Pentru a găsi fișierele deținute de un anumit utilizator sau grup, utilizați opțiunile
-user
și
-group
.
De exemplu, pentru a căuta toate fișierele și directoarele deținute de utilizator
linuxize
, ar trebui să rulați:
find / -user linuxize
Iată un exemplu din lumea reală. Să zicem că doriți să găsiți toate fișierele deținute de
www-data
și să schimbați proprietatea fișierelor potrivite de la
www-data
la
nginx
:
find / -user www-data -type f -exec chown nginx {} ;
Găsiți și ștergeți fișierele
Pentru a șterge toate fișierele care se potrivesc, adăugați opțiunea-ștergeți la sfârșitul expresiei de potrivire.
Asigurați-vă că utilizați această opțiune numai atunci când sunteți sigur că rezultatul se potrivește cu fișierele pe care doriți să le ștergeți. Este întotdeauna o idee bună să imprimați fișierele potrivite înainte de a utiliza opțiunea
-delete
.
De exemplu, pentru a șterge toate fișierele care se termină cu
.temp
din
/var/log/
ați folosi:
find /var/log/ -name `*.temp` -delete
Folosiți opțiunea
-delete
cu precauție extremă. Linia de comandă Find este evaluată ca expresie și dacă adăugați mai întâi opțiunea
-delete
, comanda va șterge totul sub punctele de pornire specificate.
Când vine vorba de directoare,
find
poate șterge doar directoarele goale la fel ca
rmdir
.
Concluzie
V-am arătat cum puteți utiliza comanda
find
cu diferite opțiuni și criterii.
Acest articol ar trebui să vă ofere o înțelegere fundamentală a modului de localizare a fișierelor în sistemele dvs. Linux. Puteți vizita, de asemenea, pagina de căutare a manului și puteți citi despre toate celelalte opțiuni puternice ale comenzii
find
.
Când deschideți orice folder în Windows 10/8/7, Explorer de fișiere va afișa de obicei următoarele detalii despre obiecte - nume, modificare dată, Etc. Dacă doriți, puteți afișa informații suplimentare sau detalii despre obiecte, fie că sunt fișiere de document, fișiere imagine, fișiere video sau directoare.
Să vedem cum putem alege detaliile folderului pentru afișare și afișare informații suplimentare în coloanele Windows File Explorer
Cum să eliberați ram în Windows folosind linia de comandă
Ai vrut vreodată să eliberezi niște memorie RAM în Windows, folosind doar o linie de comandă? Iată cum puteți face asta, cu o aplicație minunată.
Cum să eliminați fișierele și directoarele folosind linia de comandă linux
În acest tutorial, vă vom arăta cum să utilizați comanda rm pentru a elimina fișierele și directoarele prin exemple și explicații ale celor mai frecvente opțiuni rm.







