¿Cómo elimino un directorio y todo su contenido?

En bash todo lo que sé es que

rmdir directoryname 

eliminará el directorio pero solo si está vacío. ¿Hay alguna manera de forzar la eliminación de subdirectorios?

Responder

El siguiente comando lo hará por usted . Sin embargo, tenga cuidado.

rm -rf directoryname 

Comentarios

  • " -f " es " –force " que anula algunos controles de cordura y Un comando más seguro para comenzar sería rm -r directoryname.
  • Por alguna razón, obtengo un rm: invalid option -- r error cuando intentando eliminar un directorio con rm -r < nombre de directorio >.
  • @Sunspawn Marque esta pregunta relacionada para ver si ese ' es el caso.
  • @JimParis Creo que la palabra " más seguro " es relativo. Suponga que está escribiendo un script para ejecutarlo en una computadora remota. Ese script tiene un comando que se supone que elimina un directorio. Aquí, sería " más seguro " usar rm -rf directoryname porque no sería ' No quiero que su script pause la ejecución, porque ' está esperando la entrada del usuario. Por supuesto, debe estar seguro de que eliminar el directorio no hará ningún daño.

Responda

if rm -rf directoryname le falla, intente usar rm -R -f directoryname o rm --recursive -f directoryname.

Si no tiene suerte con esto, debería considerar reinstalar rm o cambiar shells.

Comentarios

  • Estas eran las opciones disponibles en mi rm man, lo busqué escribiendo man rm para ver mis opciones de eliminación recursiva y las opciones de forzar .
  • ¿Su rm lista de páginas de manual -r? ¿Qué hace? (Pruébelo en un directorio que cree solo con fines de prueba, con solo archivos ficticios (y tal vez subdirectorios) en él). ¿Qué sistema operativo está utilizando?
  • P.D. Si rm -r no ' no funciona, eso sería un problema del sistema operativo, no un problema del shell. (Estrictamente hablando, sería un problema con la versión de rm que ' estás usando, por lo que podrías solucionarlo instalando un una versión diferente de rm, o buscar en su sistema para ver si ya tiene una versión diferente de rm en algún directorio que no sea /bin.)
  • Ah, claro. Olvidé mencionar que ' m en Ubuntu 14.04 Cuando ejecuté man rm en mi terminal, me dio un archivo de texto con less visor de texto. Me desplacé y encontré una entrada con sangría con un todo que tenía las opciones -R y –recursive combinadas con la opción -r , lo que significa que todos esos argumentos son idénticos.
  • editar: ¿ha probado sudo rm -r directoryName ? Las reglas no escritas de los comandos básicos son que -r permitirá que un programa se ejecute de forma recursiva en cada archivo de su sistema de archivos (¡comenzando donde quiera que elija!) incluso si es ' es peligroso . ' cd ', ' mv ', ' ls ' principalmente mantiene este principio verdadero. ls -r / va a ser un duzie, y cp -rf / /dev/null destruirá todo en tu sistema de archivos. < – ¡Nunca ejecutes ese comando!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *