Aflați cum să utilizați comanda find din acest tutorial din arhivele noastre.

este de la sine înțeles că fiecare bun mediu desktop Linux oferă posibilitatea de a căuta sistemul de fișiere pentru fișiere și foldere. Dacă desktopul dvs. implicit nu — deoarece acesta este Linux — puteți instala întotdeauna o aplicație pentru a face căutarea ierarhiei de directoare o briză.

dar cum rămâne cu linia de comandă?, Dacă se întâmplă să lucrați frecvent în linia de comandă sau să administrați servere Linux fără GUI, unde vă întoarceți când trebuie să localizați un fișier? Din fericire, Linux are exact ceea ce aveți nevoie pentru a localiza fișierele în cauză, construite chiar în sistem.

comanda în cauză este find. Pentru a face înțelegerea acestei comenzi și mai ispititoare, odată ce o cunoașteți, puteți începe să o lucrați în scripturile Bash. Aceasta nu este doar comoditate, ci și putere.,

să ne punem la curent cu comanda find, astfel încât să puteți prelua controlul localizării fișierelor pe serverele și desktopurile Linux, fără a fi nevoie de o interfață grafică.

cum se folosește comanda find

când am văzut prima dată Linux, în 1997, nu prea înțelegeam cum funcționa comanda find; prin urmare, nu părea să funcționeze niciodată așa cum mă așteptam. Părea simplu; emite comanda găsiți numele fișierului (unde numele fișierului este numele fișierului) și comanda trebuia să localizeze fișierul și să raporteze. Nu știam că era mai mult la comandă decât atât. Mult mai mult.,

dacă emiteți comanda man find, veți vedea că sintaxa comenzii find este:

find 

desigur, dacă nu sunteți familiarizat cu modul în care lucrează man, s-ar putea să fiți confuz sau copleșit de această sintaxă. Pentru ușurința înțelegerii, să simplificăm acest lucru. Sintaxa cea mai de bază a unei comenzi de bază find ar arăta astfel:

find /path option filename

acum o vom vedea la lucru.

găsiți după nume

să descompunem acea comandă de bază pentru a o face cât mai clară posibil., Structura cea mai simplistă a comenzii find ar trebui să includă o cale pentru fișier, o opțiune și numele fișierului în sine. S-ar putea să vă gândiți: „dacă știu calea către Fișier, aș ști deja unde să o găsesc!”. Ei bine, calea pentru fișier ar putea fi rădăcina unității dvs.; deci / ar fi o cale legitimă. Introducerea ca calea ta ar lua găsi mai mult pentru a procesa-pentru că trebuie să înceapă de la zero — dar dacă nu aveți nici o idee în cazul în care fișierul este, puteți începe de acolo. În numele eficienței, este întotdeauna cel mai bine să aveți cel puțin o idee de unde să începeți căutarea.,

următorul bit al comenzii este opțiunea. Ca și în cazul majorității comenzilor Linux, aveți o serie de opțiuni disponibile. Cu toate acestea, începem de la început, așa că haideți să facem mai ușor. Pentru că suntem încercarea de a găsi un fișier de nume, vom folosi una din cele două opțiuni:

  • numele – case sensitive

  • iname – caz insensibil

Amintiți-vă, Linux este foarte special, despre caz, deci, dacă sunteți în căutarea pentru un fișier numit Linux.odt, următoarea comandă nu va returna niciun rezultat.,

find / -name linux.odt

Dacă, totuși, ați fost să-și modifice comanda folosind -iname opțiune, comanda find-ar localiza fișierul dvs., indiferent de caz. Deci noua comanda arata astfel:

find / -iname linux.odt

Găsi de tip

dacă nu ești atât de preocupat cu găsirea unui fișier după nume, ci mai degrabă ar localiza toate fișierele de un anumit tip?, Unele dintre cele mai comune descriptorii de fișier sunt:

  • f – fișier obișnuit

  • d – director

  • l – simbolic link

  • c – caracter dispozitive

  • b – bloc de dispozitive

Acum, să presupunem că doriți să găsiți toate dispozitivele (un fișier care se referă la un dispozitiv) de pe sistemul dumneavoastră., Cu ajutorul celor de tip opțiune, putem face asta astfel:

find / -type c

comanda De mai sus va duce la destul de o mulțime de ieșire (de mult de ea, indicând permission denied), dar va include și ieșire similare cu:

/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm

Voila! Blocați dispozitivele.putem folosi aceeași opțiune pentru a ne ajuta să căutăm fișiere de configurare. Spune, de exemplu, doriți să localizați toate fișierele obișnuite care se termină în .extensie conf., Aceasta comanda ar arata ceva de genul:

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

comanda De mai sus va traversa întreaga structură de directoare pentru a localiza toate fișierele care se termină în .conf. Dacă știți că majoritatea fișierelor dvs. de configurare sunt găzduite în /etc, Puteți specifica că astfel:

find /etc -type f -name "*.conf”

comanda de mai sus ar lista toate dvs.conf files from / etc (Figura 1).

Figura 1: Localizarea toate fișierele de configurare în /etc.,

afișarea rezultatelor într-un fișier

Un truc foarte util este de a scoate rezultatele căutării într-un fișier. Când știți că ieșirea ar putea fi extinsă sau dacă doriți să pieptănați rezultatele mai târziu, acest lucru poate fi incredibil de util. Pentru aceasta, vom folosi același exemplu ca mai sus și vom trimite rezultatele într-un fișier numit conf_search. Acest nou comanda va arata astfel:

find /etc -type f -name "*.conf” > conf_search

acum Veți avea un fișier (conf_search) care conține toate rezultatele de comanda emise.,

găsirea fișierelor după dimensiune

acum ajungem la un moment în care comanda find devine incredibil de utilă. Am avut cazuri în care desktop-urile sau serverele și-au găsit unitățile pline în mod misterios. Pentru a face rapid spațiu (sau pentru a ajuta la localizarea problemei), puteți utiliza comanda find pentru a localiza fișiere de o anumită dimensiune. Spuneți, de exemplu, că doriți să mergeți mari și să localizați fișiere care sunt peste 1000MB. Comanda find poate fi emisă, cu ajutorul opțiunii-size, astfel:

find / -size +1000MB

s-ar putea să fiți surprins de câte fișiere apar., Cu ieșirea din comandă, puteți pieptene prin structura de directoare și eliberați spațiu sau depanați pentru a afla ce umple misterios unitatea.

puteți căuta cu următoarele descrieri:

  • c – bytes

  • k – Kilobytes

  • M – Mb

  • G – Gb

  • b – 512-byte blocuri

Păstrați de învățare

Ne-am zgariat doar suprafata de comanda, dar acum au o înțelegere fundamentală a modului de a localiza fișierele de pe sistemele Linux., Asigurați-vă că emiteți comanda man find pentru a obține o cunoaștere mai profundă, mai completă, despre cum să faceți acest instrument puternic să funcționeze pentru dvs.

Aflați mai multe despre Linux prin cursul gratuit „Introducere în Linux” de la Linux Foundation și edX.