Localiser les répertoires vides sous GNU/Linux avec find

La commande find permet de trouver des fichiers, des répertoires et éventuellement d’exécuter une action par dessus. C’est exactement ce que je veux : trouver les répertoires vides d’un répertoire donné.

find -maxdepth 2 -empty -type d
  • -maxdepth : permet de limiter le find à une profondeur de 2
  • -empty : trouver les « vides »
  • -type d : on veux les répertoire

Pour exécuter une commande sur le résultat de find

find -maxdepth 2 -empty -type d -delete

Attention, il n’y a pas de confirmation, d’où l’intérêt de tester sans l’option -delete avant

 

D’autres exemples de commandes avec ‘find’

Donne la liste des fichiers de « /etc » ayant été modifiés ces dernières 24 heures :

find /etc -mtime -1

Supprime (après confirmation) tous les fichiers (sous Unix, GNU/Linux tout est fichiers, le répertoires sons aussi concernées) de « /tmp » n’ayant pas été utilisés depuis plus de 5 jours :

find /tmp -atime +5 -exec rm -ri {} \;

des fichiers de plus de 100 Mo :

find ~ -size +100M