Outils pour utilisateurs

Outils du site


all:bibles:linux:commandes:find

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
all:bibles:linux:commandes:find [2025/11/04 09:38] – [Options] omeylhocall:bibles:linux:commandes:find [2025/11/04 09:40] (Version actuelle) – [Suppression répertoires] omeylhoc
Ligne 1: Ligne 1:
 +====== find ======
  
 +----
 +
 +===== Options =====
 +
 +  * a : and
 +  * o : or
 +  * ! : négation
 +  * follow : pour suivre les liens symboliques
 +  * -mtime : ancienneté des modifications du fichier (en jour)
 +  * -name : nom du fichier
 +  * -iname : nom du fichier indépendamment majuscule ou miinuscule
 +  * -prune : si le fichier est un répertoire ne descend pas dedans
 +
 +----
 +
 +===== Exemples =====
 +
 +==== Fichiers selon la taille ====
 +
 +=== Lister les fichiers de plus de 50 Mo === 
 +
 +<code bash>
 +find / -type f -size +50M
 +</code>
 +
 +=== Lister les fichiers de plus de 1 Go ===
 +
 +<code bash>
 +find / -type f -size +1G
 +</code>
 +
 +==== Fichier selon la date de modification ====
 +
 +=== Lister les fichier de plus de 10 jours ===
 +
 +<code bash>
 +find . -mtime +10
 +</code>
 +
 +=== Lister les fichier de 10 jours ===
 +
 +<code bash>
 +find . -mtime 10
 +</code>
 +
 +=== Lister les fichier de moins de 10 jours ===
 +
 +<code bash>
 +find . -mtime -10
 +</code>
 +
 +=== Supprimer les fichiers de plus de 30 jours ===
 +
 +<code bash>
 +find . -mtime +30 -exec rm -f {} \;
 +</code>
 +
 +==== Fichier selon le nom ====
 +
 +=== Lister tous les fichiers Word ===
 +
 +<code bash>
 +find . -name "*.docx"
 +</code>
 +
 +=== Lister les fichiers dont le nom contient une chaine de caractères indépendamment majuscule/minuscule ===
 +
 +<code bash>
 +find . -iname "*toto*"
 +</code>
 +
 +==== Fichier selon le contenu ====
 +
 +=== Lister les fichiers contenant une chaîne de caractère ===
 +
 +<code bash>
 +find . –type f –exec grep "chaine" {} \ ; -print
 +</code>
 +
 +=== Lister les fichiers contenant une chaîne de caractère sauf les *.log et *.txt === 
 +
 +<code bash>
 +find . –type f !-name "*.log" -a ! –name "*.txt" -exec grep "chaine" {} \; -print 
 +</code>
 +
 +==== Liens brisés ====
 +
 +=== Lister les liens brisés ===
 +
 +<code bash>
 +find / -type l | perl -lne 'print if ! -e'
 +</code>
 +
 +==== Renommage fichiers ====
 +
 +=== fichier *.html.orig en *.html ===
 +
 +<code bash>
 +find . -name "*.html.orig" -exec bash -c 'mv "$1" "${1%.html.orig}.html"' _ {} \;
 +</code>
 +
 +=== fichier *.orig en *.html ===
 +
 +<code bash>
 +find . -name "*.orig" -exec bash -c 'mv "$1" "${1%.orig}.html"' _ {} \;
 +</code>
 +
 +==== Suppression répertoires ====
 +
 +<code bash>
 +find . -type d -name .git -prune -exec rm -rf {} \;
 +</code>
 +
 +<note tip>L'option -prune évite que l'on essaye de parcourir le répertoire que l'on vient de supprimer.</note>
 +
 +----
 +
 +[[all:bibles:linux:commandes:tar|Haut de page]]