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?
El siguiente comando lo hará por usted. Sin embargo, ten cuidado.
rm -rf directoryname
rm -r directoryname.rm: invalid option -- rerror al intentar eliminar un directorio con rm -r <directoryname>.rm -rf directorynameporque no querrías que tu script pause la ejecución, porque está esperando la entrada del usuario. Por supuesto, debe asegurarse de que eliminar el directorio no haría daño.si le
rm -rf directorynamefalla, intente usarrm -R -f directoryname, orm --recursive -f directoryname.Si no tiene suerte con esto, debería considerar reinstalar rm o cambiar shells.
fuente
man rmpara ver mis opciones de eliminación recursiva y las opciones de forzar .rmpágina de manual aparece-r? ¿Qué hace? (Pruébelo en un directorio que cree solo con fines de prueba, con solo archivos ficticios (y quizás subdirectorios) en él). ¿Qué sistema operativo está utilizando?rm -rno funciona, eso sería un problema del sistema operativo, no un problema de shell. (Estrictamente hablando, sería un problema con la versión de larmque está utilizando, por lo que podría abordarlo instalando una versión diferentermo buscando en su sistema para ver si ya tiene una versión diferentermen otro directorio que no sea/bin.)man rmen mi terminal, me dio un archivo de texto con ellessvisor de texto. Me desplacé y encontré una entrada sangrada con un todo que tenía las opciones -R y - recursivas junto con la opción -r , lo que significa que todos esos argumentos son idénticos.sudo rm -r directoryName? Las reglas no escritas de los comandos básicos es que-rpermitirán que un programa se ejecute de forma recursiva en cada archivo de su sistema de archivos (¡comenzando donde elija!) Y que -f hará cosas con fuerza, incluso si es peligroso . 'cd', 'mv', 'ls' en su mayoría ejerce en este principio verdadero.ls -r /va a ser un duzie ycp -rf / /dev/nulldestruirá todo en tu sistema de archivos. <- ¡Nunca ejecutes ese comando!