GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rechercher et supprimer des répertoires vides sous Linux

Souvent, les répertoires vides sont encombrés dans le système de fichiers Linux et il devient difficile de rechercher et de supprimer manuellement chacun d'entre eux. La commande rmdir (supprimer le répertoire ) est utilisé sous Linux pour supprimer les dossiers vides.

La commande est assez simple à utiliser et la syntaxe de base est :

$ rmdir <empty folder name1> <empty folder name1> ... <empty folder nameN>

Ici, ‘nom de dossier vide1 ', 'nom de dossier vide2 ‘, etc. sont les noms des dossiers, y compris le chemin complet. Si les dossiers se trouvent dans le même répertoire, comme vous le savez peut-être déjà, il n'est pas nécessaire de noter les chemins d'accès complets.

Vous pouvez également utiliser des expressions génériques pour supprimer les répertoires vides avec des modèles dans leurs noms. Par exemple, pour supprimer les répertoires vides avec la sous-chaîne 'test ‘ en leur nom, lancez :

$ rmdir *test*

Cependant, pour utiliser rmdir nous devons toujours spécifier le nom (ou le chemin complet) de chaque répertoire vide à supprimer. Il n'y a pas d'option dans rmdir pour rechercher récursivement les répertoires vides, puis les supprimer.

Nous utilisons les fonctionnalités de la commande find dans de tels cas.

Rechercher et supprimer des répertoires vides sous Linux

La commande de recherche est utilisé pour rechercher des fichiers et des dossiers sous Linux en fonction de différents paramètres tels que le nom de fichier, la taille, le type, etc. Nous utiliserons find pour déterminer les répertoires vides de manière récursive, puis exécutez rmdir pour supprimer les répertoires trouvés.

Utilisez l'argument '-empty' pour rechercher des objets vides et spécifier '-type d' pour ne trouver que des répertoires.

$ find path_of_folder_to_search -type d -empty

Pour rechercher récursivement des répertoires vides dans le même dossier, exécutez :

$ find . -type d -empty

Maintenant, puisque nous avons déjà la liste récursive des répertoires vides trouvés, nous utilisons le '-exec' argument de la commande de recherche pour exécuter rmdir sur eux.

$ find . -type d -empty -exec rmdir {} \;

L'espace réservé {} remplace chaque entrée dans la liste des répertoires trouvés et '\;' signifie la fin de la commande à exécuter.

Cependant, même avec cela, il ne fera qu'un seul cycle de recherche et de suppression des répertoires vides, mais il ne supprimera pas les répertoires qui deviennent vides après le premier cycle de suppression.

Pour résoudre ce problème, nous utilisons simplement le '-delete' option, qui supprimera à plusieurs reprises tous les répertoires vides jusqu'au répertoire de niveau supérieur.

$ find . -type d -empty -delete

C'est ainsi que nous pouvons supprimer tous les répertoires vides de manière récursive sous Linux.

Conclusion

Nous avons appris à utiliser le rmdir commande et commande de recherche sous Linux pour supprimer les répertoires vides de manière récursive. En savoir plus sur ces commandes dans leurs pages de manuel respectives :

$ man rmdir
$ man find

Merci d'avoir lu et partagez vos réflexions ci-dessous !


Linux
  1. Trouver des fichiers et des répertoires sous Linux comme un pro

  2. Comment supprimer des fichiers et des répertoires sous Linux à partir de la ligne de commande

  3. Linux Supprimer des fichiers et des répertoires

  4. Comment rechercher et supprimer des répertoires et des fichiers vides sous Linux

  5. Comment boucler sur des répertoires sous Linux?

Comment supprimer (supprimer) le répertoire sous Linux

Comment rechercher et supprimer des fichiers en double sous Linux

Comment trouver et supprimer des liens symboliques brisés sous Linux

Comment supprimer des fichiers et des répertoires sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux