Show Menu
Cheatography

Mieux utiliser la commande find.

find

Recherche sur le nom sensible à la casse
find -iname 'InDeX*'
Recherche sur le nom insensible à la casse
find -name 'index*'
Recherche sur l’iNode
find -inum 155280
Recherche en fonction des droits
find . -perm g=r -type f -exec ls -l {} \;
Trouver les fichiers vides
find . -empty
Recherche sur la taille
find . -size +100M
 
find . -size -100M
 
find . -size 100M
Rechercher un socket
find . -type s
Rechercher un dossier
find . -type d
Rechercher un fichier
find . -type f
Rechercher un fichier caché
find . -type f -name ".*"
Trouver les 5 plus gros fichiers
find . -type f -exec ls -s {} \; | sort -n -r | head -5
Trouver les 5 plus petits fichiers
find . -type f -exec ls -s {} \; | sort -n | head -5
Supprimer les archives de plus de 500Mo
find / -type f -name *.tgz -size +500M -exec rm -i {} \;
Recherche avec expression régulière
find . -mmin -30 \( ! -regex "./\.." \)
Limiter la recherche au système de fichiers courant
find / -xdev -name "­*.l­og"
Limiter la profondeur de recherche
find / -mindepth 3 -maxdepth 5 -name passwd
Comparer les dates de modifi­cation
find . -newer fichier
Trouver les fichiers dont le contenu a été modifié au cours de la dernière heure
find . -mmin -60
Trouver les fichiers ouverts au cours de la dernière heure
find . -amin -60
Trouver les fichiers dont les attributs ont été modifiés au cours de la dernière heure
find . -cmin -60
Trouver les fichiers ouverts suite à la modifi­cation d’un fichier en partic­ulier
find -anewer /etc/s­sh/­ssh­d_c­onfig
Trouver les fichiers dont les attributs ont changé après modifi­cation d’un fichier
find -cnewer /etc/fstab
Exécuter des commandes sur les résultats de find
find -iname "index" -exec md5sum {} \;
Lancer un ls -l sur les fichiers modifiés au cours des 60 dernières minutes
find -mmin -60 -exec ls -l {} \;
Renommer des fichiers
find . -name '*.htm' -exec bash -c 'mv $0 ${0/.h­tm/.html}' {} \;
Remplacer les espaces par des « _ » dans les noms de fichiers
find . -type f -iname '*.mp3' -exec rename 's/ /_/g' {} \;
Créer deux index en parallèle
find / \( -perm -4000 -fprintf /root/­sui­d.txt '%#m %u %p\n' \) , \ \( -size +100M -fprintf /root/­big.txt '%-10s %p\n' \)
Rediriger les erreurs vers /dev/null
find -name "­*.c­sv" 2>>­/de­v/null
Inverser les corres­pon­dances
find . -not -iname '*.html'
 
find / -not -path /var/log/ -iname '*.log'
Créer des alias pour les recherches les plus courantes
alias purge5­g="find /backup -type f -name *.tgz -size +5G -exec rm -i {} \;"

-exec : \; et \+

find /home/­tme­520­/pu­ppe­t/t­est­/ma­nif­ests/ -type f -iname '*.pp' -exec grep -i " include " {} \;
find /home/­tme­520­/pu­ppe­t/t­est­/ma­nif­ests/ -type f -iname '*.pp' -exec grep -i " include " {} \+
« \; » établit une liste des résultats, puis fait tourner la commande exec dessus, tandis que « \+ » fait tourner exec au fur et à mesure que les résultats sont trouvés.

L’intérêt de la chose ? Il arrive, par exemple lors d’un cp sur un dossier plein de fichiers, que la commande échoue parce qu’il y a beaucoup trop d’entrées à gérer. C’est dans ce genre de cas qu’un find en mode « \+ » vous sauvera la vie.
                                                   
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Linux Command Line Cheat Sheet
          mod_rewrite Cheat Sheet
          GNU Parallel Cheat Sheet

          More Cheat Sheets by TME520

          JAVA keytool Cheat Sheet
          systemd Cheat Sheet
          dig (english)