- Introducción (Volver al índice General)
En este artículo veremos como eliminar directorios en Linux. Utilizaremos dos comandos para eliminar directorios o carpetas en Linux.- El comando rmdir
Elimina los directorios sólo si están vacíos. Su sintaxis es la siguiente:rmdir [-p][-v][--ignore-fail-on-non-empty][--help][--version] directorio [directorio ...]
Expliquemos un poco las opciones:
- -p: Si el directorio a borrar incluye más de un directorio en el camino, lo borra, luego quita el último componente y borra el directorio resultante, así hasta que todos los componentes hayan sido eliminados. Así,
rmdir -p a/b/c
es equivalente armdir a/b/c; rmdir a/b; rmdir a
. - -v, – -verbose: Muestra un mensaje por cada directorio procesado.
- – -ignore-fail-on-non-empty: rmdir no borrará un directorio que no está vacío. Esta opción hace que rmdir ignore el fallo para eliminar el directorio, si ese fallo se debe a que el directorio no está vacío.
- – -help: Muestra la ayuda y finaliza.
- – -version: Informa de la versión y finaliza.
- -p: Si el directorio a borrar incluye más de un directorio en el camino, lo borra, luego quita el último componente y borra el directorio resultante, así hasta que todos los componentes hayan sido eliminados. Así,
- El comando rm: Se utiliza para borrar ficheros y directorios. A diferencia de rmdir, rm permite borrar directorios no vacíos. La sintaxis de rm, que nos interesa para este artículo, es la siguiente:
rm [-r][-f][-d][-v][--help][--version] directorio [directorio ...]
Expliquemos un poco las opciones:
- -r, -R, – -recursive: Elimina directorios y su contenido recursivamente.
- -f, – -force: No pide confirmación e ignora los archivos o argumentos inexistentes.
- -d, – -dir: Elimina directorios vacíos.
- -v, – -verbose: Explica lo que se está haciendo.
- – -help: Muestra la ayuda y finaliza.
- – -version: Informa de la versión y finaliza.
- El comando rmdir
- Ejemplos (Volver al índice General)
Supongamos que nuestro directorio de trabajo es el home del usuario (~
) activo y tenemos la siguiente estructura dentro del home del usuario (~
):usuario@mypc:~$ tree -a temp* temporal ├── dir1 │ ├── dirA │ └── dirB ├── dir2 │ ├── dira │ └── dirb └── dir3 ├── archivo1 ├── archivo2 ├── archivo3 └── archivo4
Teniendo en cuenta esta estructura, veamos algunos ejemplos prácticos para eliminar directorios.
- Borrar directorio vacío con rmdir
Borraremos el directorio vacíodirB
:usuario@mypc:~$ rmdir temporal/dir1/dirB
Veamos el resultado con tree:
usuario@mypc:~$ tree -a temp* temporal ├── dir1 │ └── dirA ├── dir2 │ ├── dira │ └── dirb └── dir3 ├── archivo1 ├── archivo2 ├── archivo3 └── archivo4
- Borrar directorio con subdirectorio vacíos con rmdir
En este ejemplo borraremos con una sola orden los directorios/dir1/dirA
de la estructura anterior:usuario@mypc:~$ rmdir -p temporal/dir1/dirA rmdir: fallo al borrar el directorio 'temporal': El directorio no está vacío
Observese que hemos tenido que usar la opción
-p
para que borre recursivamente directorios vacíos. Al llegar al directoriotemporal
, al no estar vacío presenta un mensaje de fallo.Si queremos que no muestre el mensaje de fallo, lo ejecutaremos de la siguiente forma:
usuario@mypc:~$ rmdir -p --ignore-fail-on-non-empty temporal/dir1/dirA
Veamos el resultado con tree:
usuario@mypc:~$ tree -a temp* temporal ├── dir2 │ ├── dira │ └── dirb └── dir3 ├── archivo1 ├── archivo2 ├── archivo3 └── archivo4
- Borrar directorio con subdirectorios vacíos con rm
Con el siguiente comando, borraremos con una sola orden el directoriodir2
y todo su contenido (dira
ydirb
):usuario@mypc:~$ rm -r temporal/dir2
Si nuestro sistema muestra mensajes de confirmación para eliminar el directorio, y queremos formzar el borrado sin que nos pida confirmación, ejecutaremos el comando de la siguiente forma:
usuario@mypc:~$ rm -rf temporal/dir2
Veamos el resultado con tree:
usuario@mypc:~$ tree -a temp* temporal └── dir3 ├── archivo1 ├── archivo2 ├── archivo3 └── archivo4
- Borrar directorio con archivos con rm
En este ejmplo, borraremos el directoriodir3
y todos sus archivos:usuario@mypc:~$ rm -r temporal/dir3
Si nuestro sistema muestra mensajes de confirmación para eliminar el directorio y sus archivos, y queremos formzar el borrado sin que nos pida confirmación, ejecutaremos el comando de la siguiente forma:
usuario@mypc:~$ rm -rf temporal/dir3
Veamos el resultado con tree:
usuario@mypc:~$ tree -a temp* temporal
- Utilizando {}
Volvamos a la estructura inicial de directorios. Utilizando las llaves{}
podemos borrar de una sola orden toda la estructura de directorios. En el ejemplo siguiente borraremos los directoriosdir1
ydir2
, y sus subdirectorios vacíos con el comando rmdir:usuario@mypc:~$ rmdir -p --ignore-fail-on-non-empty temporal/dir{1/dir{A,B},2/dir{a..b}}
Observese que hemos utilizado las llaves
{}
de dos formas distintas:- {A,B}: que significa
A
yB
. - {a..b}: que significa de
a
hastab
.
Veamos el resultado con tree:
usuario@mypc:~$ tree -a temp* temporal └── dir3 ├── archivo1 ├── archivo2 ├── archivo3 └── archivo4
Volvamos a la estructura inicial de directorios. Ahora veremos otro ejemplo pero con rm. Borraremos con una sola orden los directorios
dir1
,dir2
ydir3
y todo su contenido:usuario@mypc:~$ rm -r temporal/dir{1..3}
En este caso {1..3} significa de
1
hasta3
.Veamos el resultado con tree:
usuario@mypc:~$ tree -a temp* temporal
- {A,B}: que significa
- Borrar directorio vacío con rmdir
Nota: Si no tenéis instalado el comando tree, en Debian y distribuciones basadas en Debian, podéis instalarlo con el siguiente comando:
$ sudo apt install tree
Quizá te puedan interesar los siguientes artículos publicados en ZeppelinuX:
- Crear directorios en Linux con mkdir.
- Mover, copiar, renombrar y borrar directorios y archivos en Linux.
- Cómo moverse por los directorios en Linux.
Deja una respuesta