Suivre les liens symboliques
Par défaut, find voit les liens symboliques comme des fichiers. Pour qu’il considère la cible du lien et non le lien lui-même, il faut utiliser find -L
.
Éxécuter une ou plusieurs commandes sur les résultats
-exec echo {} \;
pour une commande (ici echo)
-exec echo {} \; -exec touch {} \; - exec cat {} \;
pour plusieurs commandes.
Trouver des dates de modification dans le futur
Si une arborescence contient des fichiers dont la date de modification est dans le futur, on peut utiliser -mmin -0,01
pour trouver les fichiers dont la date de modification est plus récente que 0,01 minutes (soit moins d’une seconde) :
find ./ -mmin -0,01
On peut modifier cette date avec touch
(avec -exec
)
Trouver les liens symboliques
find ./ -type l
Trouver les liens durs
find -type f -links +1
pour lister les fichiers dont les inodes sont référencés plus d’une fois (ces autres références peuvent être en dehors du répertoire dans lequel est lancé find) . Pour ensuite voir les différents fichiers qui référencent le même inode qu’un fichier précis, on peut faire find -samefile ./my-file
.
Trouver les dossiers vides
find ./ -type d -empty
find /path/to/data/ -type d -empty -print -delete
pour les supprimer
Classer par date
find ./ -iname "*" -printf "%T+\t%p\n" | sort
On peut rajouter awk '{print $2}'
pour ne pas afficher la date.