Com s'utilitza l'ordre Linux find per trobar fitxers

En aquest post veurem el linux find i com cercar i trobar fitxers amb atributs diferents.



Linux find Command

El Linux find comando és una eina potent integrada que es pot utilitzar per localitzar i gestionar fitxers i directoris basant-se en un ampli ventall de criteris de cerca.

Per exemple, podem trobar fitxers pel seu nom, extensió, mida, permisos, etc. També podem utilitzar el find per cercar un text concret dins d’un fitxer del qual no sabem el nom.


Vegem un ús del find ordre amb exemples:

Cerqueu un fitxer per nom

Si coneixeu el nom d’un fitxer però no recordeu el directori que hi ha, podeu utilitzar l’ordre següent del directori arrel:


find . -name sales.csv

Sortida de mostra:

./accounts/sales.csv

Cerqueu un fitxer específic en un directori

Si voleu cercar fitxers específics en un directori, podem utilitzar:

find ./test -name testCases*

Sortida de mostra:

./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log

En el cas anterior, només cerquem al directori './test'.


Cerqueu fitxers per extensió

Per cercar i trobar fitxers mitjançant una determinada extensió, fem servir:

find . -name *.jpg

Sortida de mostra:

./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg

Cerqueu fitxers o directoris amb determinats noms

Per trobar només fitxers, hem d’utilitzar el -f opció:

find ./ -type f -name 'results*'

Sortida de mostra:


./test/results_latest.log ./test/results_archive.pdf

Per trobar només directoris, hem d’utilitzar el -d opció:

find ./ -type d -name 'results*'

Sortida de mostra:

./test/results

Cerqueu fitxers a diversos directoris

Si voleu cercar i enumerar tots els fitxers amb un nom determinat en diversos directoris, podeu iniciar la cerca a la carpeta arrel o, si coneixeu els directoris, els podeu especificar.

Exemple:


find ./test ./logs -name failed*.* -type f

Sortida de mostra:

./test/failed_tests.txt ./logs/failed_tests.log

Cerqueu fitxers que continguin un text determinat

De vegades voleu trobar un fitxer i no en sabeu el nom, però sabeu que té un text determinat al seu interior.

Pots fer servir:

find ./test -type f -exec grep -l -i 'login_scenarios' {} ;

Aquí, el -i L'opció s'utilitza per ignorar majúscules i minúscules, de manera que es trobaran Login_Scenarios i login_scenarios.


Cerqueu fitxers per mida

Fins i tot podem trobar fitxers de diferents mides. Les opcions de mida són:

  • c bytes
  • k quilobytes
  • M megabytes
  • G gigabytes

Per exemple, per trobar fitxers amb una mida exacta utilitzem:

find / -size 10M

I per trobar fitxers que superin una mida determinada, fem servir:

find ./test -size +2M

A l'anterior trobareu tots els fitxers de més de 2 MB a la carpeta ./test.

Cerqueu i suprimiu fitxers específics

Per trobar i eliminar fitxers específics que fem servir:

find . -type f -name 'temp*' -exec rm {} ;

Conclusió

En aquest article heu après sobre com utilitzar l'ordre linux find per cercar fitxers segons el nom, l'extensió, la mida i el tipus.