Găsirea fișierelor pe un sistem Linux poate fi dificilă dacă nu știi cum. Cel mai bun mod de a găsi fișiere pe Linux este să folosiți câteva comenzi de terminal. Stăpânirea unora dintre aceste comenzi vă poate oferi un control complet asupra fișierelor și sunt mai utile decât funcțiile simple de căutare ale altor sisteme de operare.
Etapa
Metoda 1 din 3: Folosirea „găsiți”
Pasul 1. Căutați fișiere după nume
Acest tip de căutare este cel mai de bază și puteți face acest lucru cu comanda find. Comanda de mai jos va efectua o căutare pe baza cuvântului introdus în directorul în care vă aflați, precum și în subdirectoarele din acesta.
găsi -iname "nume de fișier"
Dacă utilizați -iname în loc de -name, diferența dintre cuvintele cheie majuscule și minuscule nu va avea niciun efect. Comanda -name consideră literele mari și mici ca fiind caractere diferite
Pasul 2. Setați căutarea pentru a începe în directorul rădăcină
Dacă doriți să efectuați o căutare la nivel de sistem, puteți adăuga / modificatorul la cuvântul cheie. Modificatorul spune comenzii find să caute bine, începând de la directorul rădăcină.
găsi / -nume "nume de fișier"
- Puteți începe o căutare într-un anumit director înlocuind / modificatorul cu calea directorului, de exemplu / home / pat.
- Poți să folosești. altul decât / astfel încât căutările să fie efectuate numai în directorul în care vă aflați și, de asemenea, în subdirectoarele din acesta.
Pasul 3. Folosiți caractere wildcard
* pentru a căuta orice se potrivește parțial cu cuvintele dvs. cheie.
Caracterul wildcard * poate fi folosit pentru a găsi fișiere ale căror nume complet nu le cunoașteți sau dacă doriți să găsiți toate fișierele cu o anumită extensie.
find / home / pat -iname "*.conf"
- Comanda de mai sus va returna toate fișierele.conf din directorul utilizatorului numit Pat (precum și subdirectoarele din acesta).
- De asemenea, îl puteți utiliza pentru a găsi orice al cărui nume se potrivește parțial cu acel cuvânt cheie. De exemplu, dacă aveți o mulțime de documente legate de wikiHow, le puteți găsi tastând „* wiki *”.
Pasul 4. Faceți rezultatele căutării mai ușor de gestionat
Dacă rezultatele căutării sunt prea multe, vă va fi dificil să găsiți fișierul dorit. Folosiți caracterul | și trimiteți rezultatele căutării înapoi la programul de filtrare „mai puțin”. În acest fel, puteți derula și filtra rezultatele căutării mai ușor.
find / home / pat -iname "*.conf" | Mai puțin
Pasul 5. Găsiți rezultatele căutării cu un anumit tip
Puteți utiliza modificatori pentru a returna doar anumite tipuri de rezultate. Puteți căuta fișiere obișnuite (f), directoare (d), linkuri simbolice (l), dispozitive de caractere (c) și dispozitive de blocare (b) folosind modificatori corespunzători.
find / -type f -iname "file name"
Pasul 6. Filtrează rezultatele căutării după mărime
Dacă aveți o mulțime de fișiere cu nume similare, dar cunoașteți dimensiunea fișierului dorit, puteți filtra căutarea după dimensiune.
find / -size + 50M -iname "file name"
- Comanda de mai sus va returna rezultatele căutării de 50 megabyte sau mai mult. Puteți utiliza + sau - pentru a căuta fișiere cu o dimensiune mai mare sau mai mică. Omiterea semnului + sau - face cautarea să returneze numai rezultate cu dimensiunea cu adevărat „corectă”.
- Puteți filtra căutarea după blocuri de octeți (c), kilobiți (k), megaocteți (M), gigaocteți (G) sau 512 octeți (b). Rețineți că marcajele disting între majuscule și minuscule.
Pasul 7. Utilizați operatori booleani pentru a combina filtrele de căutare
Puteți utiliza operatorii -și, sau-și nu pentru a combina diferite căutări.
find / travelphotos -type f -size + 200k -not -iname "* 2015 *"
Comanda de mai sus va căuta fișiere în directorul „travelphotos” care au o dimensiune de peste 200 kilobyte, dar nu au cuvântul „2015” în numele lor
Pasul 8. Efectuați o căutare a fișierelor după numele proprietarului sau permisiune
Dacă încercați să găsiți un anumit fișier care aparține unui anumit utilizator sau căutați un fișier cu anumite permisiuni, puteți restrânge căutarea.
find / -user pat -iname "file name" find / -group users -iname "file name" find / -perm 777 -iname "file name"
Exemplele de mai sus vor efectua o căutare pentru un anumit utilizator, grup sau permisiune într-un cuvânt cheie. De asemenea, puteți omite numele fișierului pentru a returna toate fișierele care se potrivesc cu acel tip. De exemplu, find / -perm 777 va returna toate fișierele cu permisiuni 777 (fără restricții)
Pasul 9. Concatenează comenzile pentru a efectua acțiunea când fișierul a fost găsit
Puteți combina comanda find cu alte comenzi, astfel încât să puteți procesa fișierele returnate după cuvânt cheie cu acea comandă. Separați comanda find și a doua comandă cu steagul -exec, apoi terminați linia cu {};
găsi. -tip f -perm 777 -exec chmod 755 {};
Comanda de mai sus va căuta în directorul în care vă aflați (și în toate subdirectoarele din acesta) fișiere cu permisiuni 777. Apoi, comanda chmod va schimba permisiunile la 755
Metoda 2 din 3: Utilizarea „localizării”
Pasul 1. Instalați
localiza funcționalitate. Comanda de localizare este în general mai rapidă decât comanda find, datorită utilizării bazei de date a sistemului de fișiere. Nu toate tipurile de Linux sunt echipate cu o funcție de localizare, deci introduceți următoarea comandă pentru instalare:
- Tastați sudo apt-get update, apoi apăsați Enter.
- Îl puteți instala pe Debian și ubuntu astfel: Tastați sudo apt-get install mlocate, apoi apăsați Enter. Dacă funcția de localizare a fost instalată mai devreme, veți vedea că mesajul mlocate este deja cea mai nouă versiune.
- Pe Arch Linux, utilizați managerul de pachete pacman: pacman -Syu mlocate
- Pentru Gentoo, utilizați emerge: emerge mlocate
Pasul 2. Actualizare
localiza Bază de date Tu. Comanda de localizare nu va putea găsi nimic până când nu este creată și actualizată. Procesul se face de obicei automat în fiecare zi, dar îl puteți actualiza și manual. Trebuie să faceți acest lucru dacă doriți să utilizați funcția de localizare cât mai curând posibil.
Tastați sudo updatedb, apoi apăsați Enter
Pasul 3. Folosiți
localiza pentru a efectua o căutare simplă.
Funcția de localizare funcționează rapid, dar nu are la fel de multe opțiuni ca comanda find. Puteți efectua căutări de bază în fișiere într-un mod similar cu comanda find.
localizați -i "*.jpg"
- Comanda de mai sus va căuta în întregul sistem fișiere cu extensia.jpg. Caracterul wildcard * funcționează similar cu comanda find.
- La fel ca comanda find, modificatorul -i face și litere mari și mici în cuvintele cheie considerate aceleași.
Pasul 4. Limitați rezultatele căutării
Dacă căutarea dvs. returnează atât de multe rezultate încât vă este dificil să le utilizați, puteți reduce aceste rezultate cu modificatorul -n, urmat de numărul de rezultate pe care doriți să le returnați.
localizați -n 20 -i "*.jpg"
- Doar 20 de rezultate de căutare vor fi afișate.
- De asemenea, puteți utiliza | pentru a trimite rezultatele căutării către programul cu mai puține filtre pentru a derula mai ușor rezultatele.
Metoda 3 din 3: Căutarea textului în fișiere
Pasul 1. Folosiți comanda
grep pentru a găsi șirul de text în fișier.
Dacă sunteți în căutarea unui fișier care să conțină o anumită frază sau un șir de caractere, puteți utiliza comanda grep. Comanda grep de bază are următorul format:
grep -r -i "interogare de căutare" / cale / către / director /
- Modificatorul -r face căutarea „recursivă”, astfel că va fi efectuată o căutare în director și în toate subdirectoarele din acesta pentru a găsi fișiere care conțin text cu cuvântul cheie de căutare.
- Modificatorul -i indică faptul că cuvântul cheie de căutare nu diferențiază între majuscule și minuscule. Dacă doriți să forțați căutarea să faceți distincția între litere mari și mici, ignorați modificatorul -i.
Pasul 2. Eliminați textul în exces
Când efectuați o căutare grep ca mai sus, veți vedea numele fișierului cu literele potrivite evidențiate. Puteți ascunde textul care se potrivește și afișa numai numele și calea directorului de fișiere adăugând:
grep -r -i "căutare cuvânt cheie" / cale / către / director / | tăiat -d: -f1
Pasul 3. Ascundeți mesajul de eroare
Comanda grep va returna o eroare atunci când încercați să accesați un director fără permisiunile corespunzătoare sau când introduceți un director gol. Puteți trimite mesaje de eroare către / dev / null, astfel încât acestea să nu apară.
grep -r -i "căutare cuvânt cheie" / cale / către / director / 2> / dev / null