Cómo buscar y eliminar directorios de forma recursiva en Linux


En uno de nuestros artículos anteriores, explicamos cómo encontrar los principales directorios y archivos que consumen más espacio en disco en el sistema de archivos en Linux. Si observa que dichos directorios ya no contienen archivos y subdirectorios importantes (como copias de seguridad antiguas, descargas, etc.), puede eliminarlos para liberar espacio en su disco.

Este breve tutorial describe cómo buscar y eliminar directorios de forma recursiva en el sistema de archivos de Linux.

Para lograr el propósito anterior, puede emplear el comando find junto con el comando rm usando la sintaxis siguiente. Aquí, el signo + al final permite que se lean varios directorios simultáneamente.

$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} + 

Atención: Debe usar el comando rm con cuidado porque es uno de los comandos más peligrosos de usar en Linux: puede eliminar accidentalmente directorios críticos del sistema, lo que provocaría fallas en el sistema.

En el siguiente ejemplo, buscaremos un directorio llamado files_2008 y lo eliminaremos de forma recursiva:

$ $find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} + 

También puede utilizar find y xargs; en la siguiente sintaxis, la acción -print0 habilita la impresión de la ruta completa del directorio en la salida estándar, seguida de un carácter nulo:

$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Usando el mismo ejemplo anterior, tenemos:

$ find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Por último, pero no menos importante, si le preocupa la seguridad de sus datos, es posible que desee aprender 3 formas de eliminar de forma permanente y segura "Archivos y directorios" en Linux.

No olvide leer más artículos útiles sobre la gestión de archivos y directorios en Linux:

  1. fdupes: una herramienta de línea de comandos para buscar y eliminar archivos duplicados en Linux
  2. Cómo buscar y eliminar archivos duplicados/no deseados en Linux con la herramienta "FSlint"
  3. Tres formas de eliminar todos los archivos de un directorio, excepto uno o pocos archivos con extensiones

En este artículo, le mostramos cómo buscar y eliminar directorios de forma recursiva en Linux. Si tiene alguna pregunta o ideas adicionales que desee agregar a este tema, use la sección de comentarios a continuación.