GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande Linux find pour rechercher des fichiers

Dans cet article, nous examinerons le Linux find commande et comment rechercher et trouver des fichiers avec différents attributs.

Commande de recherche Linux

Le Linux find La commande est un outil puissant intégré qui peut être utilisé pour localiser et gérer des fichiers et des répertoires en fonction d'un large éventail de critères de recherche.

Par exemple, nous pouvons trouver des fichiers par leur nom, extension, taille, autorisations, etc. Nous pouvons également utiliser le find commande pour rechercher un texte particulier dans un fichier dont nous ne connaissons pas le nom.

Voyons quelques utilisations du find commande avec des exemples :

Rechercher un fichier par nom

Si vous connaissez le nom d'un fichier mais que vous ne vous souvenez pas du répertoire dans lequel il se trouve, vous pouvez utiliser la commande suivante à partir du répertoire racine :

find . -name sales.csv

Exemple de sortie :

./accounts/sales.csv

Rechercher un fichier spécifique dans un répertoire

Si vous souhaitez rechercher des fichiers spécifiques dans un répertoire, nous pouvons utiliser :

find ./test -name testCases*

Exemple de sortie :

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

Dans le cas ci-dessus, nous recherchons uniquement dans le répertoire "./test".

Rechercher des fichiers par extension

Pour rechercher et trouver des fichiers avec une certaine extension, nous utilisons :

find . -name *.jpg

Exemple de sortie :

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

Rechercher des fichiers ou des répertoires avec certains noms

Pour trouver uniquement les fichiers, nous devons utiliser le -f choix :

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

Exemple de sortie :

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

Pour trouver uniquement les répertoires, nous devons utiliser le -d choix :

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

Exemple de sortie :

./test/results

Rechercher des fichiers dans plusieurs répertoires

Si vous souhaitez rechercher et répertorier tous les fichiers portant un nom donné dans plusieurs répertoires, vous pouvez soit lancer la recherche dans le dossier racine, soit, si vous connaissez les répertoires, vous pouvez les spécifier.

Exemple :

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

Exemple de sortie :

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

Rechercher des fichiers contenant un certain texte

Parfois, vous voulez trouver un fichier et vous ne connaissez pas son nom, mais vous savez qu'il contient un certain texte.

Vous pouvez utiliser :

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

Ici, le -i est utilisée pour ignorer la casse, donc Login_Scenarios et login_scenarios seront tous les deux trouvés.

Rechercher des fichiers par taille

Nous pouvons même trouver des fichiers de différentes tailles. Les options de taille sont :

  • c octets
  • k kilo-octets
  • M Mégaoctets
  • G Gigaoctets

Par exemple pour trouver des fichiers sur une taille exacte on utilise :

find / -size 10M

Et pour trouver des fichiers qui dépassent une certaine taille, nous utilisons :

find ./test -size +2M

Ce qui précède trouvera tous les fichiers de plus de 2 Mo dans le dossier ./test.

Rechercher et supprimer des fichiers spécifiques

Pour rechercher et supprimer des fichiers spécifiques, nous utilisons :

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

Conclusion

Dans cet article, vous avez appris comment utiliser la commande linux find pour rechercher des fichiers en fonction du nom, de l'extension, de la taille et du type.


Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande history sous Linux

  3. Comment utiliser la commande Su sous Linux

  4. Comment utiliser la commande id sous Linux

  5. Comment utiliser la commande "screen" sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment utiliser la commande fd sur le système Linux

Comment utiliser la commande wget sous Linux ?

Comment utiliser la commande xargs sous Linux ?

Comment utiliser la commande RPM sous Linux

Comment utiliser la commande which sous Linux