Muchas veces, los directorios vacíos se saturan en el sistema de archivos de Linux y se convierte en una tarea difícil buscar y eliminar manualmente cada uno de ellos. El comando rmdir (eliminar directorio ) se usa en Linux para eliminar carpetas vacías.
El comando es bastante simple de usar y la sintaxis básica es:
$ rmdir <empty folder name1> <empty folder name1> ... <empty folder nameN>
Aquí, 'nombre de carpeta vacía1 ', 'nombre de carpeta vacía2 ', etc. son los nombres de las carpetas, incluida la ruta completa. Si las carpetas están en el mismo directorio, entonces, como ya sabrá, no es necesario escribir las rutas completas.
También puede usar expresiones comodín para eliminar directorios vacíos con patrones en sus nombres. Por ejemplo, para eliminar directorios vacíos con la subcadena 'prueba ' en su nombre, ejecuta:
$ rmdir *test*
Sin embargo, para usar rmdir siempre necesitamos especificar el nombre (o la ruta completa) de cada directorio vacío que se eliminará. No hay opción en rmdir para buscar recursivamente directorios vacíos y luego eliminarlos.
Hacemos uso de las funcionalidades del comando de búsqueda en tales casos.
Buscar y eliminar directorios vacíos en Linux
El comando de búsqueda se usa para buscar archivos y carpetas en Linux según diferentes parámetros como nombre de archivo, tamaño, tipo, etc. Usaremos buscar para determinar directorios vacíos recursivamente y luego ejecutar rmdir para borrar los directorios encontrados.
Usa el argumento '-empty'
para buscar objetos vacíos y especificar '-type d'
para buscar solo directorios.
$ find path_of_folder_to_search -type d -empty
Para encontrar directorios vacíos recursivamente en la misma carpeta, ejecute:
$ find . -type d -empty
Ahora, dado que ya tenemos la lista recursivamente encontrada de directorios vacíos, usamos el '-exec'
argumento del comando de búsqueda para ejecutar rmdir sobre ellos.
$ find . -type d -empty -exec rmdir {} \;
El marcador de posición {}
sustituye cada entrada en la lista de directorios encontrados y '\;'
significa el final del comando a ejecutar.
Sin embargo, incluso con esto, solo realizará una única ronda de búsqueda y eliminará los directorios que estén vacíos, pero no eliminará los directorios que queden vacíos después de la primera ronda de eliminación.
Para abordar esto, simplemente usamos el '-delete'
opción, que eliminará repetidamente todos los directorios vacíos hasta el directorio de nivel superior.
$ find . -type d -empty -delete
Así es como podemos eliminar recursivamente todos los directorios vacíos en Linux.
Conclusión
Aprendimos a usar el rmdir comando y buscar comando en Linux para eliminar directorios vacíos de forma recursiva. Obtenga más información sobre estos comandos en sus respectivas páginas man:
$ man rmdir $ man find
¡Gracias por leer y comparte tus pensamientos a continuación!