Commandes Linux

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

Comment utiliser la commande find dans Linux pour rechercher des fichiers?
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 fait très flexible, facile à utiliser et assez 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 « rechercher » 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 « rechercher » est indiquée ci-dessous :

trouver [chemin] [options] [expression]

Trois attributs accompagnent la commande « rechercher » :

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 :

Recherche d'un fichier par nom

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

$ trouver . -nom MonFichierTexte1.SMS

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 de « nom » :

$ trouver . -inname monfichiertexte1.SMS

Recherche d'un fichier par type

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

Pour rechercher dans tous les répertoires, utilisez :

$ trouver . -type d

Pour rechercher des fichiers, utilisez :

$ trouver . -tapez f

Recherche d'un fichier par l'extension de fichier

Pour rechercher le fichier par motif, e.g., extension de fichier, telle que l'affichage de tous les fichiers avec ".txt", utilisez la commande suivante :

$ trouver . -Nom *.SMS

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 :

$ trouver . -inname monfichiertexte1.txt -exec rm \;

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 :

$ trouver . -Nom *.txt -supprimer

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 :

$ trouver . -type f -taille -1024c

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 :

$ trouver . -type f -taille 1M

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

$ trouver . -type f -taille +1M

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

$ trouver . -type f -taille +1M -taille 10M

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 :

$ trouver . -permanente 664

Trouver un texte dans des fichiers texte

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

$ trouver . -tapez f -nom *.txt -exec grep 'Bonjour' \;

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

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 :

$trouver . -tapez f -nom *.txt -mmin +10

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

$trouver . -tapez f -nom *.txt -amin -10

La commande ci-dessus recherche un fichier consulté pour la dernière fois il y a 4 minutes, et le « a » dans « amin » signifie « Accès ». 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 effectuer diverses fonctions.

Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...