Saltar al contenido

Cómo borrar o eliminar un directorio en Linux con el comando rm y rmdir

21 de octubre de 2020 3 min de lectura
Eliminar directorios linux comando rm y rmdir

En este artículo explicaremos cómo eliminar directorios y su contenido en Linux usando los comandos rm y rmdir.

Hay varias maneras de eliminar un directorio en Linux. Si usas un entorno de escritorio como Gnome, puedes eliminar archivos o directorios usando la interfaz gráfica, pero si estás en un servidor y no tienes interfaz gráfica o bien quieres eliminar varios directorios a la vez, lo mejor es usar la línea de comandos.

Consideraciones previas

  • Al eliminar o borrar un directorio con un entorno gráfico de escritorio, el directorio se mueve a la Papelera y se puede recuperar fácilmente.
  • Mucho cuidado con el uso de los comandos rm y rmdir que vamos a explicar en este artículo porqué una vez usados los comandos para eliminar carpetas o directorios no se podrán recuperar por completo.
  • En la mayoría de sistemas de archivos Linux, eliminar un directorio requiere permisos de escritura en el directorio y dentro del contenido. De lo contrario, obtendrás el error «Operación no permitida».

Eliminando un directorio con el comando rmdir

rmdir es el comando de linux para eliminar directorios vacíos. Es útil cuando quieres eliminar un directorio sólo si está vacío.

La sintaxis del comando rmdir es la siguiente:

rmdir [opciones] carpeta(s)

Para eliminar un directorio con rmdir escribe el comando seguido del nombre del directorio que quieres eliminar. Ejemplo con un directorio llamado «test»:

rmdir test

Si el directorio no está vacío, obtendremos el siguiente error:

rmdir: fallo al borrar 'test': El directorio no está vacío

Si el directorio está vacío lo eliminará.

Opciones del comando rmdir

–ignore-fail-on-non-emptyNo devuelve mensaje de error en caso de que el directorio no esté vacío. Aunque no aparezca el error no eliminará el directorio.
-p–parentsBorra el directorio y sus antecesores.
-v–verboseMuestra un mensaje por cada directorio procesado.
–helpMuestra la ayuda del comando.
–versionInforma de la versión del comando.

Borrar directorios usando el comando rm

rm es el comando de Linux que sirve para eliminar archivos pero también nos puede servir para eliminar directorios sin necesidad de que estén vacíos. Esa es la diferencia entre el comando rm y rmdir.

La sintaxis del comando rm es la siguiente:

rm [opciones] archivo

Para eliminar un directorio con todo su contenido (carpetas y archivos) usamos la opción -r o -R (recursivo):

rm -r test

Esto eliminará la carpeta «test» junto a todos los archivos y directorios que se encuentren dentro de ella.

Para eliminar un directorio vacío con el comando rm usamos la opción -d (–dir):

rm -d test

Para eliminar varios directorios a la vez usamos el comando con las opciones que queramos seguido de todas las carpetas separadas por espacios:

rm -f directorio1 directorio2 directorio3

Si algún directorio o archivo está protegido contra escritura nos pedirá confirmación para borrarlo. Para forzar y eliminar todos los archivos y directorios de manera recursiva de un directorio usamos la opción -r y -f:

rm -rf directorio

Opciones del comando rm

-f–forceDescarta los ficheros y argumentos que no existan, sin preguntar.
-iPregunta antes de cada borrado.
-IPregunta una vez antes de borrar más de tres ficheros, o cuando se borra recursivamente. Menos intrusivo que -i pero protege contra posibles errores al borrar.
–interactive[=CUANDO]Pregunta en función del CUANDO. Nunca, una vez (-i) o siempre (-I). Sin el CUANDO pregunta siempre.
–one-file-systemCuando se borra una jerarquía recursivamente, salta cualquier directorio que esté en un sistema de ficheros distinto de aquel que corresponde con la línea de comandos.
–no-preserve-rootNo tratar «/» especialmente.
–preserve-rootNo remover «/» (por defecto ya es así).
-r, -R–recursiveEliminar directorios y su contenido de manera recursiva.
-d–dirElimina directorios vacíos.
-v–verboseMuestra información de lo que está ocurriendo al ejecutar el comando.
–helpMuestra las opciones y ayuda del comando.
–versionMuestra la versión del comando.