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 de Linux, vous ne pouvez pas simplement compter sur l'interface graphique pour effectuer diverses tâches, par conséquent, une compréhension solide des commandes terminales 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 de texte qui semble complexe, elle est en fait très flexible, facile à utiliser et un outil 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 ce post se concentrera sur la commande «Find».

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

Discutons de la façon d'utiliser la commande «Find», sa syntaxe et diverses opérations effectuées par cette commande en détail.

Syntaxe de la commande «Find» dans Linux

La syntaxe de commande «Find» est indiquée ci-dessous:

trouver [chemin] [Options] [Expression]

Trois attributs vont avec la commande «Find»:

  • [chemin]: il définit le répertoire par où commencer à rechercher.
  • [Options]: il définit les critères de filtrage e.g. Recherche d'un fichier / dossier par son nom, sa permission, 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 en fonction de l'exigence.

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

Trouver un fichier par nom

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

$ trouver . -Nom MyTextFile1.SMS

Le point après «trouver» dans la commande ci-dessus indique le répertoire actuel.

Si vous ne vous souvenez pas du nom de fichier exact, la recherche peut être affinée et en faire une insuffisance en utilisant le «-iname» à la place de «Nom»:

$ trouver . -iname mytextfile1.SMS

Trouver un fichier par type

Pour trouver 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 tous les répertoires à utiliser:

$ trouver . -type D

Pour rechercher des fichiers, utilisez:

$ trouver . -Type F

Trouver un fichier par l'extension de fichier

Pour rechercher le fichier par modèle, e.g., Extension de fichier, comme afficher tous les fichiers avec «.txt ”, utilisez la commande suivante:

$ trouver . -nom *.SMS

Tous les fichiers avec ".txt »sera affiché avec leurs répertoires correspondants.

Trouver et supprimer un fichier

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

$ trouver . -iname mytextfile1.txt -exec rm \;

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

Pour supprimer tous les fichiers avec une extension ".txt », vous pouvez utiliser la commande annexe:

$ trouver . -nom *.txt -delete

Trouver 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 512 kb de blocs, «C» pour les octets, «K» pour les kilobytes, «M» et «G» pour les mégaoctets et les gigaoctets respectivement:

$ trouver . -Type F-Size -1024C

La commande mentionnée ci-dessus recherche tous les fichiers avec une taille inférieure à 1024 octets. La recherche peut en outre être affinée, par exemple, si nous voulons trouver tous les fichiers inférieurs à 1 Mo, nous utilisons la commande ci-dessous:

$ trouver . -Type F-Size 1M

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

$ trouver . -Type F-Size + 1M

Une gamme de taille peut également être définie, en utilisant la commande annexée:

$ trouver . -Type F-Size + 1M-Size 10M

Trouver des fichiers avec permission

Pour rechercher un fichier avec autorisation, nous utiliserons l'option «-perm», puis le code d'autorisation, comme démontré ci-dessous:

$ trouver . -perm 664

Trouver un texte dans les fichiers texte

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

$ trouver . -Tapez f -name *.txt -exec grep 'hello' \;

La commande recherche le mot «bonjour» dans les fichiers texte. La sortie est des chaînes de texte à partir des fichiers texte contenant «bonjour».

Trouver 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 -iname *.txt -mmin +10

La commande ci-dessus recherche un fichier modifié il y a quatre minutes, et «M» signifie la «modification».

$ trouver . -Tapez f -iname *.txt -amin -10

La commande ci-dessus recherche un fichier accessible 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 des jours, utilisez «-mtime +4» à la place de «MMIN +4».

Conclusion

La commande «Find» dans Linux est une commande très utile qui vous permet de rechercher un fichier ou un répertoire à l'aide de différents critères, et vous permet même de modifier les fichiers à partir du terminal. Dans ce guide, nous avons observé la syntaxe de la commande «Find» dans Linux et appris à utiliser la commande «Find» pour remplir diverses fonctions.