Cómo eliminar un directorio completo que incluye archivos en Linux

La línea de comandos de Linux es una herramienta poderosa que le permite hacer muchas cosas más rápido y más fácilmente que a través de la GUI. Una de sus capacidades esenciales es crear y eliminar archivos y carpetas, aunque nos limitaremos a eliminar carpetas en este artículo.

Cómo eliminar un directorio completo que incluye archivos en Linux

Siga leyendo para aprender a usar los comandos “rm” y “rmdir” para deshacerse de carpetas, subcarpetas y archivos que ya no necesita.

Utilice "rm" para eliminar directorios

Hay muchos comandos que puede utilizar para eliminar un directorio. La elección debe depender de lo que quiere hacer y cómo quiere que se haga. La línea de comandos de Linux es súper flexible en este sentido, tal vez incluso más que sus contrapartes de Windows y Mac.

Vale la pena señalar que Linux no distingue entre carpetas y archivos como lo hacen los sistemas operativos Mac y Windows. En cambio, trata las carpetas como grupos de archivos. En esta sección, examinaremos el comando rm. Empecemos.

Utilice "rm" para eliminar directorios

rm –d nombre del directorio

El comando anterior solo le permitirá eliminar un único directorio vacío. Este es el comando más básico para eliminar / eliminar carpetas.

rm –d nombreofthedirectory1 nombreofthedirectory2

El comando presentado anteriormente eliminará varias carpetas. El truco aquí es que, como en el anterior, todos tienen que estar vacíos. Si sucede que la primera carpeta que nombró no está vacía, Command Line no intentará eliminar otras carpetas. Simplemente se detendrá, sin darle un mensaje de error.

rm –r nombreofthedirectory1 nameofthedirectory2

El comando anterior eliminará todas las carpetas especificadas, sus subcarpetas y los archivos que contengan. Esto es posible gracias a la opción “-r” que reemplaza la “-d” del comando anterior. En la línea de comandos de Linux, "-r" significa recursivo. Se puede usar solo y combinar con otras opciones.

rm –rf nombre del directorio

Cuando ejecuta un comando “rm –r”, la línea de comandos de Linux le pedirá permiso para eliminar las subcarpetas y archivos que estén protegidos contra escritura. Sin embargo, si escribe “rm –rf”, no se le preguntará. La letra "f" significa "fuerza".

Debe tener cuidado al eliminar carpetas y archivos con un comando “rm –rf”, ya que podría perder datos importantes o dañar el sistema operativo. Los archivos y carpetas del sistema se pueden eliminar más fácilmente en un sistema Linux que en Windows o Mac.

sudo apt-get install árbol

Para comprender mejor lo que está a punto de eliminar, debe instalar el paquete de árbol a través de la utilidad apt-get. Esto funciona para Ubuntu y el resto de la familia Debian. Si está en otra distribución, use su propia herramienta de administración de paquetes. Cuando ejecute el comando anterior, la línea de comandos mostrará la carpeta y la estructura de archivos de la carpeta en la que se encuentra. De esta manera, puede verificar fácilmente si hay archivos o subcarpetas que deberían permanecer intactos.

ruta del árbol / a / su / directorio

El comando presentado anteriormente le permitirá ver la estructura de otra carpeta en su sistema Linux.

Comandos avanzados

Hay otras variaciones del comando “rm”, como “–no-preserve-root”, “–preserve-root”, “–one-file-system” y otros. Sin embargo, están destinados a usuarios experimentados de la línea de comandos. Si comete un error con uno de estos, puede eliminar una parte o incluso todos los archivos del sistema en su computadora. Debido a su naturaleza complicada, los guardaremos para otro tutorial de línea de comandos.

Utilice rmdir para eliminar directorios

También puede utilizar el conjunto de comandos rmdir para eliminar carpetas. Sin embargo, los comandos rmdir solo pueden encargarse de las carpetas vacías y no pueden eliminar los archivos contenidos dentro de las carpetas marcadas para su eliminación. Hay varios comandos rmdir útiles y los veremos en esta sección.

Utilice rmdir para eliminar directorios

Sin embargo, puede engañar a la Línea de comandos para eliminar una carpeta que no esté vacía con la opción principal, aunque hablaremos de eso un poco más adelante.

rmdir nombre del directorio

Este es el comando "rmdir" más básico que existe. Eliminará un directorio vacío que esté dentro del directorio en su ubicación actual. Por ejemplo, si su ubicación actual es el escritorio y tiene una "Nueva carpeta" vacía, este comando "rmdir" se encargará de ello.

rmdir nameofthedirectory1 nameofthedirectory2

En caso de que tenga varias carpetas que desee eliminar, puede utilizar la variación anterior del comando "rmdir". Se eliminarán todas las carpetas (directorios) especificadas, pero deben estar contenidas dentro del directorio en el que se encuentra actualmente. Para eliminar directorios en otro lugar, consulte el siguiente comando.

rmdir / ruta / a / su / directorio

La línea de comandos de Linux le permite eliminar cualquier directorio de su ubicación actual, donde sea que esté. Para hacer eso, tendrá que ingresar la ruta completa hacia el directorio o directorios de los que desea deshacerse.

En caso de que haya intentado eliminar una carpeta que contiene subcarpetas y / o archivos, la línea de comandos le mostrará un mensaje de error que indica: Directorio no vacío. No hace falta decir que no eliminará la carpeta especificada.

En caso de que haya especificado tres carpetas y la primera no esté vacía, Command Line dejará de procesar su comando tan pronto como se ejecute en la primera carpeta. Recibirá el mismo mensaje de error que en el caso anterior y la línea de comandos no intentará eliminar otras carpetas de la lista.

Puede remediar esto agregando la siguiente opción: –ignore-fail-on-non-empty. Esto obligará a la Línea de comandos a continuar ejecutando el comando incluso si encuentra carpetas que no están vacías. El comando podría verse así: rmdir –ignore-fail-in-non-empty NewFolder1 NewFolder2 NewFolder3.

rmdir –p nameofthedirectory1 nameofthedirectory2

El comando anterior podría ayudarlo a engañar a Linux para que elimine una carpeta que no esté vacía. Utiliza la opción "-p", también conocida como la opción "principal". Así es como funciona.

Supongamos que tiene una carpeta llamada Fotos y una carpeta llamada ColorPics dentro. Supongamos que este último está vacío y es el único elemento dentro de la carpeta Fotos. Cuando ejecutas el comando "rmdir –p ColorPics Pics", la línea de comandos eliminará la carpeta ColorPics porque no hay nada en ella. Después de eso, verificará el estado de la carpeta Pics, determinará que también está vacía y la eliminará.

Conozca el poder de la línea de comandos

La línea de comandos le permite hacer muchas cosas en un sistema Linux. Tenga cuidado si no tiene mucha experiencia, ya que es más fácil dañar el sistema en Linux que en Windows y Mac.

¿Ha utilizado la línea de comandos para eliminar carpetas y archivos antes? ¿Qué comandos usaste? Si cree que nos hemos perdido algunas buenas opciones, háganoslo saber en la sección de comentarios a continuación.