Comment utiliser la commande Rechercher sous Linux

Lorsqu'on travaille dans un environnement UNIX, comme Linux dans ce cas, il est idéal de connaître en détail l'utilisation de certaines commandes qui nous aideront dans de multiples tâches, qu'elles soient administratives ou personnelles. L'une d'entre elles est la commande Rechercher qui, comme son nom l'indique, est utilisée pour rechercher des fichiers ou des éléments qui se trouvent dans le système d'exploitation de manière simple mais fonctionnelle et complète.

Lorsque nous décidons d'utiliser la commande find, nous pouvons rechercher et localiser la liste des fichiers ou des répertoires en fonction des conditions que nous indiquons dans la syntaxe d'utilisation à exécuter. Ensuite, nous verrons ce qu'est la commande find et comment nous pouvons l'utiliser sous Linux en utilisant ses différents paramètres.

Qu'est-ce que trouverFind est une commande dans les distributions Linux qui est très utile bien qu'elle soit quelque peu inconnue. C'est une commande qui facilitera la tâche de trouver un fichier lorsque nous avons beaucoup de fichiers et qu'il est vraiment difficile de le trouver. En plus des fichiers, vous pouvez également rechercher ou supprimer des répertoires entiers. Vous pouvez rechercher avec des filtres spécifiques tels que la taille, le nom, l'extension, la date…

Filtrage des recherches avec FindL'un des grands avantages de l'utilisation de cette commande est que nous pouvons filtrer les résultats par diverses variables telles que :

  • Autorisations
  • Groupes
  • Utilisateurs
  • Type de fichier
  • Date de création ou de modification
  • Taille et plus d'options disponibles

Solvetic expliquera diverses méthodes pour utiliser efficacement la commande Find sous Linux et pour ce cas, nous utiliserons Ubuntu 19.04. Nous verrons comment utiliser la commande find pour rechercher et rechercher des fichiers avec des filtres à l'aide du terminal Linux.

1. Comment rechercher des fichiers par nom ou extension avec des commandes sous Linux


C'est la partie la plus essentielle de l'utilisation de la commande Rechercher et pour cela il faut soit connaître le nom de l'objet soit son extension (.mp4, .txt,. Jpg.webp, etc.) afin d'obtenir un résultat direct.

Étape 1
Par exemple, nous voulons trouver un fichier appelé Solvetic.docx qui se trouve dans un dossier sur le bureau, dans ce cas, nous devons naviguer jusqu'à ce chemin, puis exécuter ce qui suit :

 find -name Solvetic.docx 
Étape 2
En conséquence, nous verrons le dossier où ledit fichier est hébergé (le cas échéant):

Étape 3
Au contraire, si nous voulons voir tous les fichiers par une extension spécifique, telle que .docx, nous exécuterons ce qui suit :

 find -name "* .docx"
Étape 4
L'astérisque répertorie tous les fichiers avec cette extension

Étape 5
La syntaxe générale de la commande Rechercher est la suivante :

 trouver [-H] [-L] [-P] [chemin…] [expression] 
Étape 6
Ces paramètres sont :

-HIl ne suit pas les liens symboliques, sauf si des arguments de ligne de commande sont traités.

-LSuivez les liens symboliques.

-PIl ne suit jamais les liens symboliques et est l'option par défaut

Étape 7
L'option [chemin…] indique l'emplacement où la recherche doit être effectuée sous Linux. Le paramètre [expression] peut être des opérateurs, des options, des tests ou des actions à exécuter, on voit que, par défaut, la commande Find ignorera les liens symboliques disponibles, mais avec -L on va les rechercher pour des résultats plus complets.
Il existe trois niveaux d'optimisation que nous pouvons sélectionner lorsque nous exécutons Find, à savoir :

  • -O1
  • -O2
  • -O3

Étape 8
La valeur -O1 est l'option par défaut et sa fonction est de forcer la commande Rechercher à rechercher en fonction du nom de fichier que nous avons défini. El nivel -O2 se encarga de priorizar los filtros de nombre de archivo, luego va a ejecutar todos los filtros en base al tipo de archivo y posteriormente usará otras condiciones para resultados completos y el nivel -O3 ejecuta una optimización más profunda usando todos los recursos au maximum.

Rechercher des options de commandeLes options générales de recherche sont :

  • -O1 : valeur par défaut, c'est un filtre basé sur le nom du fichier indiqué.
  • -O2 : Recherche d'abord par nom de fichier puis par type
  • -O3 : exécute une recherche qui trie automatiquement les résultats en fonction de l'utilisation des ressources
  • -maxdepth X : recherche le répertoire actuel et les sous-répertoires aux niveaux X.
  • -iname : Recherche sans se fier au texte.
  • -not : renvoie uniquement les résultats qui ne correspondent pas à la recherche
  • -type f : Rechercher uniquement les fichiers.
  • -type d : lance la recherche dans le répertoire

2. Comment rechercher des fichiers par nom ou par extension avec des commandes insensibles à la casse sous Linux

C'est une méthode qui nous permet de trouver des fichiers et d'afficher les résultats qui contiennent des majuscules et des minuscules :

 find -iname solvetic.docx 

Rechercher des noms dans les répertoiresAvec cette méthode, nous pouvons détecter tous les répertoires nommés Solvetic dans le répertoire personnel (/) :

 find / -type d -name Solvetic

Trouver des fichiers sans autorisations 777Les autorisations 777 (Rwxrwxrwx) avec ces autorisations qui n'ont aucune restriction, c'est-à-dire que tout utilisateur peut y accéder.
Pour voir les fichiers qui n'ont pas cette autorisation, nous allons exécuter ce qui suit :

 trouver / -type f! -perm 777 

Maintenant, si nous voulons voir les fichiers qui ont des autorisations 777, nous allons exécuter :

 trouver. -type f -perm 0777 -impression 

Trouver des fichiers SGID avec 2644 autorisationsLes autorisations 2644 sont des fichiers qui ont des autorisations de lecture et d'écriture, donc pour voir ces fichiers, nous allons exécuter :

 trouver / -perm 2644

Trouver des fichiers SUID sous LinuxLes fichiers SUID (Définir l'ID utilisateur du propriétaire lors de l'exécution) sont des autorisations de fichier spéciales accordées à un élément et servent à accorder temporairement des autorisations à un utilisateur afin d'exécuter un programme ou un fichier avec les autorisations du propriétaire du fichier.
Pour les voir, nous allons exécuter les opérations suivantes :

 trouver / -perm / u = s

Rechercher des fichiers SGIDLes fichiers SGID (Set Group ID up on execution) sont un type spécial d'autorisations de fichiers grâce auquel il est possible d'hériter des autorisations d'accès de l'utilisateur connecté. Pour afficher ces fichiers, nous allons exécuter les opérations suivantes :

 trouver / -perm / g = s

Rechercher des fichiers en lecture seulePour voir quels sont les fichiers en lecture seule sous Linux, nous allons exécuter :

 trouver / -perm / u = r

Rechercher des fichiers exécutablesSi nous voulons savoir avec certitude quels fichiers sont exécutables, nous pouvons utiliser la ligne suivante :

 trouver / -perm / a = x

3. Comment trouver des fichiers avec les autorisations 777 et chmod 755 sous Linux

Étape 1
Ce sont des autorisations spéciales de lecture et d'écriture, pour voir ces fichiers que nous allons exécuter :

 find / -type d -perm 777 -print -exec chmod 755 {} \;

Étape 2
Maintenant, si nous voulons trouver les fichiers avec les permissions 777 et chmod 644, nous exécutons :

 find / -type f -perm 0777 -print -exec chmod 644 {} \;

4. Rechercher et supprimer des fichiers avec des commandes sous Linux

Rechercher et supprimer un fichierAvec Find, nous pouvons détecter un fichier et procéder à sa suppression, dans ce cas, nous supprimerons le fichier solvetic.docx pour lequel nous exécutons ce qui suit :

 trouver. -type f -name "solvetic.docx" -exec rm -f {} \; 

Si nous voulons supprimer plusieurs fichiers, nous pouvons utiliser leur extension :

 trouver. -type f -name "* .docx" -exec rm -f {} \;

Rechercher des fichiers ou des répertoires videsNous pouvons spécifier un chemin, comme /tmp, pour trouver les répertoires vides, dans ce cas nous exécutons ce qui suit :

 find / tmp -type d -vide

Pour rechercher des fichiers vides, nous exécutons :

 find / tmp -type f -vide

Trouver des fichiers cachésSous Linux, et dans tous les systèmes, certains fichiers sont cachés pour des raisons de sécurité, si pour une tâche d'administration ou de support il est nécessaire de voir ce que c'est, nous pouvons exécuter la commande suivante avec le chemin souhaité, dans ce cas home :

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

Rechercher les fichiers d'un utilisateurUne autre des nombreuses options que la commande Rechercher nous offre est de détecter les fichiers d'un utilisateur particulier, par exemple, pour trouver tous les fichiers de l'utilisateur solvetic dans le répertoire personnel, nous allons exécuter ce qui suit :

 find / home -user solvetic

Rechercher des fichiers d'un groupe particulierPour trouver les éléments d'un groupe nous allons exécuter la ligne suivante :

 find / home -group solvetic

5. Rechercher des fichiers dans une plage de temps avec des commandes sous Linux

Étape 1
Avec la commande Rechercher, il sera possible de rechercher les fichiers qui ont été utilisés dans une plage de temps, par exemple, pour voir les fichiers des 30 derniers jours qui ont été modifiés, nous pouvons exécuter :

 trouver / -mtime 30 

Étape 2
Pour voir les fichiers qui ont présenté l'accès, nous exécutons :

Étape 3
Pour voir les fichiers modifiés dans une plage de jours, entre 1 et 5 par exemple, on va utiliser la ligne suivante :

 trouver / -mtime +1 -mtime -5

Étape 4
Si nous voulons voir les fichiers qui ont présenté un changement au cours de la dernière heure ou des dernières minutes, nous pouvons exécuter les opérations suivantes :

 trouver / -cmin -45
Étape 5
Cela listera les fichiers des 45 dernières minutes :

Étape 6
De même, nous pouvons lister les fichiers qui ont été consultés dans une plage de temps :

 trouver / -amin -60 

6. Trouver des fichiers d'une taille spécifique avec des commandes sous Linux

Étape 1
Il est possible de définir une taille de fichier dans les critères de recherche, ainsi, de voir tous les fichiers dont le poids est de 10 Mo que nous exécutons :

 trouver / -taille 10M

Étape 2
Pour établir une fourchette de poids, nous utiliserons :

 trouver / -taille + 15M -taille -90M

Étape 3
Si, pour une raison quelconque, nous souhaitons détecter et supprimer un fichier d'une taille spécifique, nous utiliserons la syntaxe suivante :

 find / -size + 200M -exec rm -rf {} \;
NoterLa version de find sous Unix présente plusieurs lacunes, nous devons donc modifier notre commande pour obtenir le résultat souhaité, par exemple :

  • Sous Linux
 trouver. -taille 50M | xargs ls -l
  • Sous Unix
 trouver. -taille 50M -print0 | xargs -0 ls -l 
Au niveau des scripts, tous les résultats avec find sont positifs, que nous obtenions ou non des résultats, sous Linux, nous avons l'option -print -quit en cas de non-obtention de résultats.

La version Unix de Find ne dispose pas de cette option et il est préférable de l'utiliser avec grep pour vérifier le résultat par exemple.

 read -r a if find. -maxdepth 1 -name "$ a" -print -quit | grep -q. then echo "Fichier trouvé" sinon echo "Aucun fichier trouvé" si

7. Rechercher des fichiers graphiquement sous Linux


Les distributions Linux actuelles, avec un environnement graphique (GUI), nous offrent la possibilité d'utiliser le moteur de recherche intégré pour détecter facilement les fichiers souhaités, dans le cas d'Ubuntu 19.04, nous pouvons accéder aux fichiers et dans le champ de recherche saisir le terme souhaité pour afficher immédiatement les résultats associés :

AGRANDIR

On voit à quel point la recherche de fichiers sous Linux est quelque chose de vraiment complet grâce à la commande Find et ses différentes déclinaisons pour obtenir les meilleurs résultats selon les cas.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave