Question : Comment localiser les répertoires vides qui ne contiennent aucun fichier ? Aussi, comment puis-je trouver tous les fichiers vides (fichiers de zéro octet) sous Linux ?
Réponse : Vous pouvez utiliser la commande unix find pour obtenir une liste de tous les fichiers et répertoires vides comme expliqué ci-dessous.
Reportez-vous également à nos articles précédents sur les exemples de commandes unix find - partie 1 et les exemples de commandes find - partie 2.
Rechercher des répertoires vides dans le répertoire courant en utilisant find -empty
find . -type d -empty
Utilisez la commande suivante pour supprimer tous les répertoires vides sous le répertoire actuel.
find . -type d -empty -exec rmdir {} \;
Remarque : Il n'est pas recommandé de supprimer les répertoires vides de /etc/ ou de tout autre répertoire système.
Rechercher des fichiers vides dans le répertoire courant en utilisant find -empty
find . -type f -empty
Remarque :En règle générale, les fichiers vides sont créés par certains programmes en tant qu'espaces réservés, ou en tant que fichiers de verrouillage, ou en tant que fichiers de socket pour la communication.
Combien de fichiers vides se trouvent dans le répertoire actuel (et sous-répertoires) ?
Pour compter le nombre de fichiers vides dans le répertoire courant, dirigez la commande find vers wc -l
find . -type f -empty | wc -l
Combien de fichiers non vides se trouvent dans le répertoire actuel (et sous-répertoires) ?
find . -type f -not -empty | wc -l
Remarque : L'option de recherche -n'annule pas l'option qui la suit.
Dans tous les exemples ci-dessus, remplacez le point ( . ) par tout autre chemin de répertoire sous lequel vous souhaitez rechercher les fichiers.
Maman, j'ai trouvé ! — Le didacticiel de 15 exemples de commandes de recherche Linux pratiques explique les correspondances maxdepth, mindepth et invert de la commande find.