Linux underground |
Utilisée seule, cette commande aura une utilité relativement limitée. Par contre, utilisée en combinaison avec d'autres commandes (avec la technique du pipeline ou avec l'opion -exec), find fera des miracles.
Lister tous les fichiers .pps et .ppt de l'arborescence
(équivalent de dir *.pps /s + dir *.ppt /s sous Windows) :
$ find $HOME -name "*.pp[st]"
Rechercher dans l'arborescence courante, dans les fichiers .c, ceux contenant le mot clé malloc :
$ find . -name "*.c" | xargs grep -n malloc
(le "." n'est pas obligatoire, le chemin par défaut est le chemin courant)
Lister les fichiers et répertoires plus vieux que 15 jours :
$ find . -type f -ctime +15
$ find . -type d -ctime +15
Lister une arborescence portage (ou un overlay) :
$ cd /usr/portage
$ find . -mindepth 2 -maxdepth 2 -type d | cut -c 3-
Effacer tous les fichiers plus vieux que 15 jours :
$ find mon_repertoire/ -ctime +15 -exec rm -rf {} \;
Lister les fichiers et répertoires accessibles en écriture par tout le monde
("world writeable") :
$ find . -type f -perm -2 -exec ls -lg {} \; 2> /dev/null > writable.txt
$ find . -type d -perm -2 -exec ls -ldg {} \; 2> /dev/null >> writable.txt
$ find . -type f -perm /o+w -exec ls -lg {} \; 2> /dev/null > writable.txt
$ find . -type d -perm /o+w -exec ls -ldg {} \; 2> /dev/null >> writable.txt
Lister les fichiers et répertoires accessibles en écriture par le groupe
et les autres :
$ find . -type f \( -perm -2 -a -perm -20 \) -exec ls -lg {} \; 2> /dev/null > writable.txt
$ find . -type d \( -perm -2 -a -perm -20 \) -exec ls -ldg {} \; 2> /dev/null >> writable.txt
$ find . -type f -perm -g+w,o+w -exec ls -lg {} \; 2> /dev/null > writable.txt
$ find . -type d -perm -g+w,o+w -exec ls -ldg {} \; 2> /dev/null >> writable.txt
Lister les fichiers et répertoires accessibles en écriture par le groupe
ou par les autres :
$ find . -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; 2> /dev/null > writable.txt
$ find . -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; 2> /dev/null >> writable.txt
$ find . -type f -perm /g+w,o+w -exec ls -lg {} \; 2> /dev/null > writable.txt
$ find . -type d -perm /g+w,o+w -exec ls -ldg {} \; 2> /dev/null >> writable.txt
Modifier les droits d'accès des fichiers et répertoires récursivement :
$ find . -type f -exec chmod u=r,g=r,o-rwx {} \;
$ find . -type d -exec chmod u=rx,g=rx,o-rwx {} \;