731 votos

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

¿Cómo puedo eliminar el siguiente directorio?

Escribí:

rmdir lampp

Aparece este error:

rmdir: no se pudo eliminar 'lampp': Directorio no está vacío

¿Existe un comando para eliminar todos los archivos en el directorio y eliminar la carpeta del directorio?

1 votos

No puedo eliminar un directorio como "Nueva Carpeta" usando todos los comandos detallados anteriores. Está duplicado. Pero quiero eliminar ese directorio. Cualquier sugerencia será bienvenida. T. Divakara, Bengaluru, India

0 votos

Es el espacio en blanco en el nombre del archivo, intenta usar 'comillas' > rmdir 'Nueva Carpeta' < luego la carpeta desaparece, o usa caracteres de escape para caracteres no visibles.

5 votos

Simplemente ejecutar rm -r lampp será suficiente.

1027voto

Shantanu Banerjee Puntos 3194

Utilice el siguiente comando :

rm -rf lampp

Elimina todos los archivos y carpetas contenidos en el directorio lampp.

En caso de que el usuario no tenga permiso para eliminar la carpeta :

Agregue sudo al principio del comando :

sudo rm -rf nombreCarpeta

De lo contrario, sin sudo se le devolverá permiso denegado. Y es buena práctica tratar de no usar -f al eliminar un directorio:

sudo rm -r nombreCarpeta

Nota: esto asume que ya se encuentra en el mismo nivel de la carpeta que desea eliminar en la terminal, si no es así:

sudo rm -r /ruta/a/nombreCarpeta

Para su información: puede usar las letras -f, -r, -v:

  • -f = para ignorar archivos inexistentes, nunca solicitar confirmación
  • -r = para eliminar directorios y sus contenidos de forma recursiva
  • -v = para explicar lo que se está haciendo

71 votos

En mi humilde opinión, es una buena práctica nunca agregar la "f" en el primer intento. Su propósito es ignorar ciertas advertencias que pueden ser importantes, especialmente si accidentalmente lo has hecho en/desde el directorio equivocado. En mi opinión es bueno intentar sin la "f" primero, luego solo si te encuentras con muchas advertencias y estás seguro de que está bien ignorarlas todas, Ctrl+C para salir de ello y repetir el comando con la "f".

1 votos

0 votos

@thomasrutter ... De acuerdo. Un archivo "xxx" propietario: root y grupo: root se puede ELIMINAR con el interruptor -f; y sin sudo. Este es el mensaje sin -f: "rm: remove write-protected regular file ‘/home/william/.cache/netbeans/v08.01/tmp/xxx’? _". _Anda con cuidado.

101voto

thomasrutter Puntos 12856
rm -R lampp

Sin embargo, debes tener cuidado con un comando recursivo como este, ya que es fácil borrar accidentalmente mucho más de lo que pretendías.

Es una buena idea siempre verificar en qué directorio estás, y si escribiste correctamente el comando, antes de presionar Enter.

Versión más segura

rm -R -i lampp

Agregar -i lo hace un poco más seguro, ya que te pedirá confirmación en cada eliminación. Sin embargo, si estás eliminando muchos archivos, esto no será muy práctico. Aun así, puedes intentarlo primero.

Nota sobre -f opción:

Muchas personas sugieren usar -f (combínandolo en -Rf o -rf), argumentando que elimina molestos mensajes. Sin embargo, en casos normales no lo necesitas, y usarlo suprime algunos problemas de los que probablemente quieres saber. Cuando lo uses, no se te advertirá si tus argumentos contienen un directorio o archivo(s) que no existen: simplemente fallará silenciosamente al borrar nada. Como regla general, prueba primero sin el -f: si hay problemas con tus argumentos, entonces te darás cuenta. Si comienzas a recibir demasiados mensajes sobre archivos sin acceso de escritura, entonces puedes intentarlo con -f. Alternativamente, ejecuta el comando desde un usuario (o el superusuario usando sudo) que tenga permisos completos sobre los archivos y directorios que estás eliminando para evitar estos mensajes en primer lugar.

5 votos

Nota: también se puede usar en minúsculas -r y tiene el mismo efecto aquí. Suelo usar mayúsculas -R porque es consistente con otros comandos que uso como grep y chmod, algunos de los cuales solo admiten la forma en mayúsculas.

0 votos

Este funcionó para mí usando adb (puente de depuración de Android) en Android. Estaba intentando rm -rf pero no funcionaba. Tuve que usar rm -R. Gracias.

1 votos

Esta es una buena solución, especialmente si no tienes experiencia en el uso del terminal Bash. El comando se puede acortar a rm -ir FOLDER.

29voto

JDS Puntos 290

Hay muchas formas de eliminar un directorio a través del modo CLI. Depende de cuál forma te sientas más cómodo.

rm -rvf /ruta/al/directorio  
  • -r = eliminar directorios y sus contenidos de forma recursiva
  • -v = explicar lo que se está haciendo
  • -f = ignorar archivos que no existen, nunca solicitar confirmación

Si eres nuevo en Linux, utiliza las páginas de manual de comandos (man rm) para más opciones y mayor precisión.

3voto

Por cierto, personalmente quería eliminar un directorio que contenía un archivo/archivos protegido(s) contra escritura (.git y subdirectorios) y finalmente me di cuenta de que también necesitaba convertirme en un superusuario para poder eliminar con éxito estos archivos. Aquí está lo que hice:

#convertirme en super usuario
sudo su -

#eliminar el contenido y luego el directorio harvey_snake/
rm -R harvey_snake/

-1voto

TreDubZedd Puntos 2070

Tuve algunos problemas con eso hoy, pero lo superé con sudo.

Precaución: Asegúrate muy bien de que quieres borrar todo antes de usar el comando a continuación.

$ sudo rm -R [nombre del directorio]

Hoy lo hice con éxito, y eliminé muchos directorios no vacíos que confirmé que no quería/necesitaba.

Estoy usando 14.04 LTS

4 votos

"SUDO" no es un comando - "sudo" sí lo es. Sin embargo, no se utiliza sudo para eliminar un directorio no vacío, se utiliza para eliminar un archivo que no es de tu propiedad. Hacer esto de manera automática es peligroso y no muy inteligente, ya que no deberías estar eliminando archivos que no son tuyos a ciegas.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X