Cómo usar el comando RMDIR en Linux para Principiantes

Como usuarios de Linux, interactuamos constantemente con archivos y directorios. Una de las operaciones más comunes es eliminar directorios del sistema de archivos. Aunque debemos tener especial cuidado al hacerlo, ya que una eliminación descuidada puede provocar pérdida de datos.

En este artículo para principiantes aprenderemos cómo funciona el comando rmdir, junto con ejemplos prácticos que puedes aplicar en el día a día.

La sintaxis del comando rmdir es similar a la de otros comandos de Linux. A grandes rasgos, se divide en dos partes: options (opciones) y arguments (argumentos):

$ rmdir [OPCIONES] ... <DIRECTORIO1> <DIRECTORIO2> ...

Aquí, los corchetes ([]) indican argumentos opcionales, mientras que los símbolos (<>) representan argumentos obligatorios.

Uso básico del comando rmdir en Linux

Como su nombre indica, el comando rmdir se utiliza para eliminar directorios. No obstante, es importante saber que solo puede eliminar directorios vacíos.

A continuación, veremos los ejemplos más comunes.

¿Cómo eliminar un directorio vacío en Linux?

Primero, creamos algunos directorios vacíos:

$ mkdir dir1 dir2 dir3 dir4

Verificamos que se hayan creado:

$ ls -l

Ahora eliminamos el directorio dir1 y comprobamos que ya no existen:

$ rmdir dir1
$ ls -l

De la misma manera, podemos eliminar varios directorios vacíos en una sola ejecución:

$ rmdir dir2 dir3 dir4

Finalmente, comprobamos nuevamente:

$ ls -l

Si todo salió bien, no debería mostrarse ningún directorio.

¿Cómo usar el modo verbose en rmdir?

En los ejemplos anteriores usamos ls para verificar la eliminación. Sin embargo, no siempre es práctico ejecutar un segundo comando solo para confirmar lo que hizo el primero.

Para ello existe el modo verbose, que se activa con la opción -v. Esta opción muestra un mensaje por cada directorio procesado.

Primero recreamos la estructura:

$ mkdir dir1 dir2 dir3 dir4

Ahora eliminamos los directorios en modo verbose:

$ rmdir -v dir1 dir2 dir3 dir4
$ ls -l

La salida mostrará qué directorios fueron eliminados, confirmando la operación sin necesidad de revisar manualmente.

¿Cómo eliminar subdirectorios vacíos en Linux?

En la práctica, solemos trabajar con estructuras de subdirectorios para organizar mejor la información. Veamos cómo manejar este caso.

Creamos una estructura anidada:

$ mkdir -p dir1/dir2/dir3/dir4/dir5

Aquí usamos la opción -p con mkdir para generar la jerarquía completa. Para eliminar todos esos directorios de una sola vez, utilizamos la opción -p junto con -v en rmdir:

$ rmdir -p -v dir1/dir2/dir3/dir4/dir5

La salida será similar a:

rmdir: removing directory, 'dir1/dir2/dir3/dir4/dir5'
rmdir: removing directory, 'dir1/dir2/dir3/dir4'
rmdir: removing directory, 'dir1/dir2/dir3'
rmdir: removing directory, 'dir1/dir2'
rmdir: removing directory, 'dir1'

El comando elimina primero el último directorio y luego sus directorios padre, siempre que estén vacíos.

¿Cómo manejar el error “Directory not empty” directorio no vacío?

Si ya sabemos que rmdir solo elimina directorios vacíos. Si intentamos borrar uno que contiene archivos o subdirectorios, aparecerá un error.

Ejemplo:

$ mkdir -p dir1/dir2/dir3/dir4/dir5
$ rmdir dir1

Salida:

rmdir: failed to remove 'dir1': Directory not empty (rmdir: no se pudo eliminar 'dir1': el directorio no está vacío)

Este comportamiento es una protección contra la pérdida de datos. Aunque en algunos casos, como en scripts automatizados, puede generar fallos innecesarios.

Si quieres evitar que el comando reporte error en estos casos, podemos usar la alternativa siguiente:

$ rmdir --ignore-fail-on-non-empty dir1
$ echo $?

Si el resultado, resuelve con el valor 0, esto indica que el comando terminó correctamente. Es importante aclarar que esta opción solo ignora el error: no elimina el directorio si no está vacío.

¿Cómo usar expresiones regulares con rmdir?

Al igual que otros comandos en Linux, rmdir permite usar comodines (también denominados wildcards).

Los más comunes son:

  • ? → Coincide exactamente con un carácter.
  • * → Coincide con cero o más caracteres.

Primero creamos algunos directorios:

$ mkdir dir1 dir2 dir-01 dir-02

Ahora usamos ? para eliminar dir1 y dir2:

$ rmdir -v dir?

Salida:

rmdir: removing directory, 'dir1'
rmdir: removing directory, 'dir2'

Luego usamos * para eliminar los restantes:

$ rmdir -v dir-*

Salida:

rmdir: removing directory, 'dir-01'
rmdir: removing directory, 'dir-02'

Además de estos ejemplos, pueden utilizarse patrones más avanzados según las necesidades de cada usuario.


Conclusión

En este artículo vimos cómo usar el comando rmdir en Linux.

Aprendimos a eliminar directorios vacíos, activar el modo verbose, borrar estructuras anidadas, manejar errores cuando el directorio no está vacío y utilizar expresiones regulares para eliminar múltiples directorios de forma eficiente.

Dominar rmdir es fundamental para administrar correctamente el sistema de archivos en Linux y evitar errores que puedan comprometer la información.