Si desea eliminar varios subdirectorios dentro de otro directorio usando la línea de comando en Linux, generalmente debe usar el rm
comando varias veces. Sin embargo, existe una forma más rápida de hacerlo.
Digamos que tenemos un directorio llamado htg con cinco subdirectorios dentro y queremos eliminar tres de ellos. En una situación normal, usaríamos el rm
comando tres veces.
Sin embargo, podemos acortar aún más este proceso combinando los tres rm
comandos en uno. Así es cómo.
Para eliminar los tres subdirectorios, solo necesita escribir el siguiente comando en el símbolo del sistema y presionar Enter (obviamente, cambie los nombres de los directorios por los que desea eliminar).
rm -r ~ / Documents / htg / {hecho, ideas, notas}
Las palabras entre corchetes son parte de la «lista de expansión de llaves». Cada uno de los elementos de la lista de expansión de llaves se adjunta por separado a la ruta anterior (~ / Documents / htg /). Por ejemplo, el comando anterior se expande en ~ / Documents / htg / done, ~ / Documents / htg / ideas y ~ / Documents / htg / notes, los tres subdirectorios del directorio htg que queremos eliminar. Como puede ver en la captura de pantalla a continuación, esos tres subdirectorios fueron eliminados.
La -r
bandera es necesaria cuando se usa el comando rm para eliminar un directorio en lugar de un archivo. Si deja la -r
bandera fuera del comando anterior, obtendrá un error que le indicará que los directorios no se pueden eliminar.
Si todos los subdirectorios que desea eliminar están vacíos, puede usar el rmdir
comando, como se muestra a continuación.
rmdir ~ / Documents / htg / {hecho, ideas, notas}
Si resulta que alguno de los subdirectorios no está vacío, se mostrará un error que indica que la eliminación falló y que el subdirectorio en cuestión y sus subdirectorios no se eliminaron. Sin embargo, se eliminan los subdirectorios vacíos.
Tenga mucho cuidado con el rm
comando. Usarlo de manera incorrecta puede eliminar todos los archivos de su disco duro.
También puede crear un directorio que contenga varios subdirectorios, o un árbol de directorios, usando un comando .