find
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant. (Comment ?).
|
find
est une commande UNIX permettant de chercher des fichiers dans un ou plusieurs répertoires selon des critères définis par l'utilisateur.
Par défaut, find
retourne tous les fichiers contenus dans l'arborescence du répertoire courant.find
permet aussi d'exécuter une action sur chaque fichier retrouvé ce qui en fait un outil très puissant.
[modifier] Utilisation
find dispose de nombreuses options pour limiter les fichiers selon leurs caractéristiques : taille, date de modification, propriétaire, type, etc.
La syntaxe générale est :
find chemin [chemin2...] [options] [action]
Voici quelques exemples d'utilisation :
Impression de la liste des fichiers sous /home qui ont été modifiés dans les 7 derniers jours :
find /home -type f -a -mtime -7 -print
Recherche de la chaîne Wikipedia dans tous les fichiers terminés par .txt sous /home :
find /home -type f -a -name '*.txt' -exec grep -H Wikipedia {} \;
Suppression des fichiers sous /tmp de plus de 14 jours ou nommés core :
find /tmp -type f -a \( -mtime +14 -o -name 'core' \) -exec rm {} \;
On prendra garde à des contructions telles que :
find /tmp -type f -a -mtime +14 | xargs rm
en raison de la possibilité d'espaces dans les noms de fichiers (par exemple /tmp/ /etc/passwd)
[modifier] Voir aussi
[modifier] Liens externes
- (fr)Introduction à la commande find
- (fr)Page man de find
- (en)GNU Findutils avec xargs et locate.
- (en)Tutoriel