Modes de paiement Abuse

La commande find sous Linux

04.03.2023, 02:43

La commande find de Linux est utilisée pour rechercher des fichiers et des répertoires dans des répertoires spécifiés en fonction de divers critères. Cette commande est l'un des utilitaires les plus puissants et les plus répandus sous Linux.

Format de la commande

Le format de base de la commande find est le suivant :

find [path] [expression]

où :

chemin est le chemin d'accès au répertoire dans lequel rechercher des fichiers (par défaut, find recherche dans le répertoire actuel et tous ses sous-répertoires) ;

expression est une expression qui définit les critères de recherche des fichiers.

Voici quelques-uns des critères de recherche de fichiers les plus courants qui peuvent être utilisés dans une expression de la commande find :

-nom: recherche de fichiers par leur nom. Par exemple :

find /home/user -name myfile.txt

-type: recherche les fichiers d'un type spécifique (par exemple, f pour les fichiers ordinaires ou d pour les répertoires). Par exemple :

find /home/user -type f

-size: recherche les fichiers en fonction de leur taille. Par exemple : -mtime : recherche les fichiers en fonction de leur taille :

find /home/user -size +10M

-mtime: recherche les fichiers en fonction de l'heure de leur dernière modification. Par exemple : -user et -group

find /home/user -mtime -7

-user and -group: recherche les fichiers par propriétaire et par groupe. Par exemple : -user et -group : recherche les fichiers par propriétaire et par groupe :

find /home/user -user bob -group users

Vous pouvez utiliser les opérateurs logiques -and, -or et -not pour combiner plusieurs critères de recherche en une seule expression.

Par exemple, la commande suivante permet de trouver tous les fichiers du répertoire /home/user qui ont été modifiés au cours des sept derniers jours et dont la taille est supérieure à 10 mégaoctets :

find /home/user -type f -mtime -7 -size +10M

La commande find vous permet également d'effectuer diverses actions sur les fichiers trouvés à l'aide de l'option -exec. Par exemple, vous pouvez supprimer tous les fichiers qui ont été modifiés il y a plus de 30 jours à l'aide de la commande suivante :

find /home/user -type f -mtime +30 -exec rm {} ;

Ici, l'option -exec exécute la commande rm pour chaque fichier trouvé et utilise {} pour remplacer le nom de fichier dans la commande.

La commande find est un outil puissant pour trouver des fichiers et des répertoires sous Linux, qui peut être utilisé pour effectuer diverses tâches de gestion.

Options supplémentaires

La commande find prend en charge de nombreuses autres options qui peuvent être utilisées pour trouver des fichiers avec plus de précision :

-iname: recherche des fichiers par leur nom sans tenir compte de la casse. Par exemple :

find /home/user -iname myfile.txt

-regex: recherche les fichiers dont le nom correspond à une expression régulière donnée. Par exemple : -regex : recherche les fichiers dont le nom correspond à une expression régulière donnée :

find /home/user -regex ".*.txt$"

-maxdepth et -mindepth: limitent la profondeur de recherche des fichiers dans les sous-répertoires. Par exemple : -maxdepth et -mindepth

find /home/user -maxdepth 2 -type f

-prune: exclut certains répertoires de la recherche. Par exemple : -prune : exclut certains répertoires de la recherche :

find /home/user -path /home/user/excluded -prune -o -type f -print

-print: affiche la liste des fichiers trouvés sur la sortie standard. Par exemple : -print : affiche la liste des fichiers trouvés sur la sortie standard :

find /home/user -type f -print

find permet également de rechercher des fichiers en fonction de divers attributs, tels que les autorisations, les attributs de fichier, les étiquettes SELinux, etc. Vous trouverez plus d'informations sur ces options dans la documentation de la commande find.

La commande peut rechercher des fichiers et des répertoires dans l'ensemble du système de fichiers, ce qui peut prendre beaucoup de temps et de ressources. Il est donc important d'être prudent lors de l'utilisation de cette commande et de s'assurer que les critères de recherche sont correctement définis afin d'éviter de trouver des fichiers inutiles ou des erreurs dans le système.