- 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.
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Configuración de privacidad y de cookies.
Deja una respuesta