La mejor forma de borrar directorios en Linux: respuesta corta
Si acabas de abrir la terminal y solo necesitas borrar un directorio, rmdir para carpetas vacías y rm -r para carpetas con contenido cubren el 90% de los casos. Si escribes scripts o trabajas en servidores, te conviene añadir rm -I antes de borrar recursivamente, porque pide una sola confirmación al pasar de cierto número de archivos, a diferencia de rm -i que pregunta por cada uno y bloquea procesos largos. Para administradores que mueven directorios con miles de archivos, la opción segura es find … -delete con previsualización previa, que permite filtrar por patrón y ver qué se borrará antes de ejecutar nada. En resumen: usuario nuevo, rm -r con un ls antes; scripts, rm -rI; servidor con volumen, find.
Antes de borrar: qué tienes que tener claro
Borrar en la terminal no tiene papelera por defecto, así que cuatro comprobaciones previas evitan disgustos.
- Estar en el directorio padre del que quieres borrar, o usar la ruta absoluta. Si no sabes dónde estás,
pwdte lo dice; unpwdantes del borrado cuesta un segundo. - Tener permisos de escritura sobre el directorio padre, no solo sobre el contenido. Puedes tener un archivo legible y no poder borrar la carpeta que lo contiene.
- Haber listado lo que hay dentro con
ls -Aols -la. El-Amuestra casi todo salvo.y..; el-laañade los ocultos. - Tener copia de seguridad o, al menos, un snapshot del sistema. En servidores, esto suele ser responsabilidad del sistema de backups o del volumen con snapshots; en escritorio, basta con mover a una carpeta temporal.
Sin listado previo,
rm -rfes siempre una apuesta a ciegas.
Métodos para borrar directorios: visión de conjunto
| Método | Vacíos | Con contenido | Pide confirmación | Riesgo de equivocarse |
|---|---|---|---|---|
rmdir |
Sí | No | No | Bajo (avisa si no está vacío) |
rm -d |
Sí | No | No | Bajo |
rm -r |
Sí | Sí | No | Alto |
rm -rf |
Sí | Sí | No | Muy alto |
rm -I -r |
Sí | Sí | Una vez al pasar de ~5 archivos | Medio |
find … -delete |
Sí | Sí | No (hay que añadirlo) | Medio si filtras bien |
trash (papelera) |
Sí | Sí | No | Bajo (se puede recuperar) |
Borrar un directorio vacío: rmdir
- Comprueba que el directorio está vacío con
ls -A nombre; la salida debe ser solo.y... - Ejecuta
rmdir nombre. Si el directorio existe y está vacío, sale sin decir nada. - Si está dentro de una estructura que también queda vacía, usa
rmdir -p ruta/a/varios/niveles: borra el último y sube mientras queden vacíos. - Si devuelve
Directory not empty, no hay nada que hacer conrmdir: salta al método siguiente.
Borrar un directorio con contenido: rm -r y rm -rf
- Lanza primero
ls -R nombrepara ver el árbol completo. - Si quieres ver cada paso, usa
rm -r nombresin-f; el sistema preguntará ante archivos de solo lectura. - Para automatizar, añade
-fy tendrásrm -rf nombre; con esto, ni los archivos de solo lectura detienen el borrado. - Si el directorio tiene miles de archivos,
rm -ise vuelve inservible porque pregunta uno a uno; mejorrm -I, que pregunta una sola vez a partir de unos 5 archivos al borrar recursivamente.
Ejemplo: en una carpeta con 20 000 archivos, rm -ri puede bloquearse esperando teclado; rm -rI pregunta una vez y sigue.
Borrar miles de archivos sin lanzar rm -rf a ciegas
- Construye el
findsin-deletepara previsualizar:find /ruta -type f -name '*.tmp'. La salida es la lista de archivos que se borrarían. - Cuando estés seguro, añade
-deleteal final:find /ruta -type f -name '*.tmp' -delete. - Si tu
findno soporta-delete(versiones muy antiguas o BusyBox), usaxargs:find /ruta -type f -name '*.tmp' -print0 | xargs -0 rm. - Como tercera opción,
-execcon terminador+:find /ruta -type f -name '*.tmp' -exec rm {} +. Funciona en cualquierfindPOSIX.
Casos que rompen el rm normal: espacios, guiones y enlaces
Los nombres con espacios, los que empiezan por guion y los enlaces simbólicos son los tres clásicos que dan errores o resultados inesperados.
- Espacios: usa comillas dobles o escapa con barra invertida.
rm -r "mi carpeta"orm -r mi\ carpeta. Sin esto, la shell interpreta solo la primera palabra. - Nombres que empiezan por
-: añade./delante o usa--como separador.rm -r -- -descartadosorm -r ./-descartados. Sin esto,rminterpreta el guion como una opción. rm enlace/no es un error; el problema es que, según la versión, puede seguir el enlace y borrar el destino en lugar del propio enlace. Para borrar solo el enlace, usarm enlacesin barra final, ounlink enlace.
Errores frecuentes y cómo se pagan
Cuatro errores aparecen una y otra vez en foros y en historiales de servidores.
rm -rf $directorio/con la variable vacía: si$directoriono se ha exportado o tiene un espacio raro, el comando se convierte enrm -rf /. Por eso se recomienda siemprerm -rf -- "$directorio"y, mejor aún, validar la variable antes.rm -rf /mntsin--no-preserve-root: en sistemas modernosrmrechaza borrar/como protección, pero/mntpuede contener un disco entero si está montado. Comprueba conmount | grep /mntantes.- Borrar sin haber hecho
ls: muchos tickets de soporte empiezan con «he borrado la carpeta equivocada porque no vi que había un carácter raro». Ellsprevio no es opcional en producción. - Esperar una papelera de reciclaje en un servidor: en escritorio hay clientes como
trash-cliogvfs-trashque envían a la papelera de GNOME/KDE, pero en un servidor sin entorno gráfico no hay papelera. Lo que se borra conrmno se recupera, salvo desde el backup.
Datos verificados en octubre de 2026.
Preguntas frecuentes sobre borrar directorios en Linux
1. ¿Cómo borrar un directorio en Linux con todo su contenido?
Usa rm -r /ruta/al/directorio para borrar la carpeta y todo lo que lleva dentro. La opción -r indica recursividad, así que el comando entra en subcarpetas y borra cada archivo. Si quieres saltarte cualquier aviso, añade -f: rm -rf /ruta/al/directorio.
2. ¿Cómo eliminar un directorio en Linux?
Para una carpeta vacía basta con rmdir /ruta/al/directorio; para una con archivos dentro, rm -r /ruta/al/directorio. Confirma con ls /ruta/al/directorio antes para asegurarte de que es lo que quieres borrar, porque rm no mueve a la papelera.
3. ¿Cuál es el comando de Linux para borrar todo de un sistema?
El meme del "borra todo" suele referirse a rm -rf /, que recorre recursivamente el sistema completo sin pedir confirmación. En la práctica es destructivo y muchos sistemas lo protegen con --no-preserve-root o requieren deshabilitar la seguridad. Lo correcto en una tarea real es limitar siempre la ruta, por ejemplo rm -rf /home/usuario/carpeta/*.
4. ¿Qué hace exactamente `rm -rf`?
rm borra, -r activa el borrado recursivo (entra en cada subdirectorio) y -f fuerza la operación saltándose los avisos y los errores por archivos protegidos. Combinado, rm -rf /ruta elimina el directorio, sus archivos y subcarpetas sin pedir confirmación previa.
5. ¿Cómo borrar un directorio con archivos dentro en Linux?
El comando habitual es rm -r /ruta/al/directorio, que elimina la carpeta y todo su contenido. Si quieres evitar la pregunta de confirmación para cada elemento, usa rm -rf /ruta/al/directorio. Antes conviene hacer ls /ruta/al/directorio para revisar qué se va a borrar.
6. ¿Cómo eliminar un directorio con archivos sin que pida confirmación en Linux?
Añade la opción -f al borrado recursivo: rm -rf /ruta/al/directorio. Con -f, rm no pregunta aunque haya archivos de solo lectura y tampoco muestra los errores por archivo. Verifica primero la ruta con pwd o ls, porque -f desactiva cualquier red de seguridad.
7. ¿Cómo borrar con `rm` usando comodines de forma recursiva?
Los comodines se expanden antes de pasar al rm, por lo que rm -r /ruta/al/directorio/.log borra todos los .log del directorio sin entrar recursivamente. Para borrar en subcarpetas también necesitas find, por ejemplo find /ruta -type f -name ".log" -delete. Haz un echo previo con los mismos patrones para ver qué coincidirá antes de ejecutar.
8. ¿Puede el comando `rm` borrar varios archivos a la vez: verdadero o falso?
Verdadero. rm acepta varios archivos en la misma línea, separados por espacios: rm archivo1.txt archivo2.txt archivo3.log los elimina de una sola pasada. Para directorios completos se añade -r y para evitar avisos, -f.
Fuentes
- LinuxizeHow to Remove (Delete) Files and Directories in Linuxconsultado el 13/10/2026
- VirtarixHow to Delete a Directory in Linux Safely | Virtarixconsultado el 13/10/2026
- WarpHow To Remove a Directory in Linux / Unix – rm vs. rmdir | Warpconsultado el 13/10/2026
- ContaboDelete Directories in Linux: rm and rmdir Explained – Contaboconsultado el 13/10/2026
