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

          Lantern Light for MSDOS keyboard mapping Cheat Sheet
          Top 30 linux shell tricks Cheat Sheet
          Anki Vector Cheat Sheet