GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar y eliminar directorios vacíos en Linux

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!


Linux
  1. Cómo buscar y eliminar directorios recursivamente en Linux

  2. Cómo encontrar y eliminar directorios y archivos vacíos en Unix

  3. Cómo encontrar y eliminar directorios y archivos vacíos en Linux

  4. ¿Cómo puedo eliminar recursivamente directorios vacíos en mi directorio de inicio?

  5. ¿Cómo puedo eliminar recursivamente todos los archivos y directorios vacíos en Linux?

Cómo quitar (eliminar) directorio en Linux

Cómo encontrar y eliminar archivos duplicados en Linux

Cómo encontrar y eliminar enlaces simbólicos rotos en Linux

Cómo eliminar archivos y directorios en Linux

Encuentre archivos y directorios en Linux fácilmente

Cómo eliminar archivos y directorios usando la línea de comandos de Linux