Comment utiliser la commande find sous Linux pour rechercher des fichiers ?

How Use Find Command Linux Search Files



Si vous êtes un utilisateur Linux, vous ne pouvez pas vous fier uniquement à l'interface graphique pour effectuer diverses tâches. Par conséquent, une solide compréhension des commandes de terminal est vraiment essentielle. Toutes les distributions basées sur Linux exécutent les commandes pour effectuer différentes tâches administratives.

Bien que le terminal Linux soit une interface texte qui semble complexe, il est en réalité très flexible, facile à utiliser et très utile. Les commandes peuvent facilement être copiées à partir de sources en ligne et collées dans le terminal pour effectuer diverses opérations. Il y a des tonnes de commandes, mais cet article se concentrera sur la commande find.







La commande find est utilisée pour rechercher, filtrer ou rechercher des fichiers et des dossiers dans votre système en fonction des conditions spécifiées par l'utilisateur et effectuer plusieurs opérations sur eux.



Voyons comment utiliser la commande find, sa syntaxe et diverses opérations effectuées par cette commande en détail.



Syntaxe de la commande find sous Linux

La syntaxe de la commande find est illustrée ci-dessous :





trouve [chemin] [options] [expression]

Trois attributs accompagnent la commande find :

  • [chemin] : Il définit le répertoire où commencer la recherche.
  • [options] : Il définit les critères de filtrage par ex. rechercher un fichier/dossier par son nom, son autorisation, son heure ou sa date.
  • [expression] : Il définit les actions à effectuer avec le fichier.

Tous les attributs ci-dessus sont facultatifs car ils peuvent être utilisés selon les besoins.



Pour démonstration, j'ai créé différents répertoires et quelques fichiers texte, voir l'image ci-dessous :

trouver/1%20copy.png

Recherche d'un fichier par nom

Pour rechercher le fichier par nom, utilisez la commande ci-dessous :

$trouve.-NomMonFichierTexte1.txt

find/2%20copy.png

Le point après find dans la commande ci-dessus indique le répertoire courant.

Si vous ne vous souvenez pas du nom exact du fichier, la recherche peut encore être affinée et la rendre insensible à la casse en utilisant le -iname à la place du nom :

$trouve.-mon nommonfichiertexte1.txt

trouver/3%20copy.png

Recherche d'un fichier par type

Pour rechercher un fichier par son type, utilisez l'option -type avec des lettres qui sont également appelées descripteurs tels que f pour les fichiers, d pour les répertoires, l pour le lien symbolique et s pour les sockets.

Pour rechercher dans tous les répertoires, utilisez :

$trouve.-taper

trouver/4%20copy.png

Pour rechercher des fichiers, utilisez :

$trouve.-taperF

c%20copy.png

Recherche d'un fichier par l'extension de fichier

Pour rechercher le fichier par modèle, par exemple, l'extension de fichier, telle que l'affichage de tous les fichiers avec .txt, utilisez la commande suivante :

$trouve.-Nom *.SMS

trouver/5%20copy.png

Tous les fichiers avec .txt seront affichés avec leurs répertoires correspondants.

Recherche et suppression d'un fichier

Pour rechercher et supprimer un fichier, utilisez la commande ci-dessous :

$trouve.-mon nommonfichiertexte1.txt-exec rm {};

trouver/6%20copy.png

La commande ci-dessus recherche d'abord le fichier, puis le supprime. L'image montre que MyTextFile1 a été supprimé.

Pour supprimer tous les fichiers avec l'extension .txt, vous pouvez utiliser la commande jointe :

$trouve.-Nom *.SMS-effacer

trouver/7%20copy.png

Recherche d'un fichier par taille

La commande find peut également rechercher un fichier par taille. Utilisez simplement l'option -size avec ses descripteurs tels que b pour les blocs de 512 Ko, c pour les octets, k pour les kilo-octets, M et G pour les mégaoctets et les gigaoctets respectivement :

$trouve.-taperF-Taille -1024c

trouver/8%20copy.png

La commande mentionnée ci-dessus recherche tous les fichiers d'une taille inférieure à 1024 octets. La recherche peut encore être affinée, par exemple, si nous voulons trouver tous les fichiers de moins de 1 Mo, alors nous utilisons la commande ci-dessous :

$trouve.-taperF-Taille1M

ab/a%20copy.png

Pour tous les fichiers supérieurs à 1 Mo, utilisez la commande ci-dessous :

$trouve.-taperF-Taille+1M

ab/b%20copy.png

Une plage de taille peut également être définie, à l'aide de la commande annexée :

$trouve. -taperF-Taille+1M-Taille10M

Recherche de fichiers par autorisation

Pour rechercher un fichier par autorisation, nous utiliserons l'option -perm, puis le code d'autorisation, comme illustré ci-dessous :

$trouve.-permanente 664

trouver/10%20copy.png

Trouver un texte dans des fichiers texte

Pour rechercher du texte dans plusieurs fichiers texte de votre système, utilisez la commande ci-dessous :

$trouve.-taperF-Nom *.SMS-exec saisir'Bonjour'{};

find/12%20copy.png

La commande recherche le mot Hello dans les fichiers texte. La sortie est constituée de chaînes de texte provenant des fichiers texte contenant Hello.

Recherche d'un fichier par date et heure de modification

Pour accéder à un fichier par sa dernière modification, utilisez la commande ci-dessous :

$trouve.-taperF-mon nom *.SMS-mmin+dix

find/13%20copy.png

La commande ci-dessus recherche un fichier modifié pour la dernière fois il y a quatre minutes, et m signifie la Modification.

$trouve. -taperF-mon nom *.SMS-amine -dix

find/14%20copy.png

La commande ci-dessus recherche un fichier consulté pour la dernière fois il y a 4 minutes, et le a dans amin signifie Access. Pour accéder à un fichier qui a été modifié il y a quatre jours, utilisez -mtime +4 à la place de mmin +4.

Conclusion

La commande find sous Linux est une commande très utile qui vous permet de rechercher un fichier ou un répertoire en utilisant différents critères, et vous permet même de modifier les fichiers depuis le terminal. Dans ce guide, nous avons observé la syntaxe de la commande find sous Linux et appris à utiliser la commande find pour exécuter diverses fonctions.