Latinoamérica
de.novatoanovato@gmail.com

Comando -rmdir-

Dedicado al nuevo usuario de software libre

Comando -rmdir-

Comando rmdir

El comando rmdir, es un programa multiplataforma (disponible para varios sistemas operativos), entre los que se encuentran los de tipo Unix como GNU/Linux. Esta herramienta sirve para borrar directorios o subdirectorios vacíos de nuestro sistema de archivos. Su nombre proviene de las palabras en inglés remove directory (borrar directorio).

Objetivo de éste artículo

El principal objetivo de éste artículo es el de dar a conocer el comando rmdir, su sintaxis y las opciones con las que esta cuenta para los distintos casos que se nos puedan presentar. Se expondrá sobre la conveniencia de uso sobre los elementos del sistema de archivos que aplica y sobre los que no. También aprovecharemos para trabajar con los distintos tipos de ruta debido a que su sintaxis permite ingresar rutas como parámetros.

Sintaxis

El comando rmdir se corresponde con la siguiente sintaxis:

rmdir [Parámetro] [Directorio]

Aunque, podríamos expresarla de forma mas explicitas y completa como:

rmdir [Parámetro] [Ruta] [Directorio]

Opciones del comando rmdir

Cada comando tiene un propósito especifico, las opciones o parámetros nos permiten extender las capacidades con las que estos cuentan. El comando rmdir no es la excepción. A continuación presentaremos un contexto de trabajo y desglosaremos una a una las opciones con las que podemos hacernos, para que cuando nos sea necesario sepamos como hacer uso de ellas.

Contexto de trabajo

A continuación les presento el contexto creado para llevar adelante el desarrollo de esta entrada. Se creo el directorio TioNovato, ubicado en el home del usuario/home/cristian/TioNovato. Para visualizar su contenido, ejecute el comando tree, en el directorio.

tree

Dentro del directorio TioNovato, nos encontramos con el archivo: Archivo.txt. Y a su vez con con tres directorios: DirNoVacio que contiene el archivo ArchivoRMDIR.txt, por otro lado tenemos a DirPadre que contiene al directorio DirHijo. y por ultimo un directorio vació nombrado como DirVacio. Comprendiendo la estructura, comencemos con el desarrollo de esta entrada.

Comando rmdir

Como vimos, el comando rmdir nos permite eliminar directorios vacíos de nuestra estructura. Veremos a continuación la forma mas simple de uso de esta herramienta y que pasa cuando la ejecutamos sobre un directorio no vacío o elemento distinto de un directorio.

Eliminando un directorio vacío

Cuando nos disponemos al eliminar un directorio que se encuentra en la misma posición en la que estamos posicionados con el prompt, utilizando como herramienta rmdir, las ejecución no es mas que llamar al comando e indicar el directorio que nos disponemos a eliminar. La condiciones para que la introducción pueda ejecutarse son: Que sea sobre un directorio y que este se encuentre vació. Veamos.

rmdir DirVacio

Si comprobamos con el comando tree, veremos que el directorio DirVacio fue eliminado.

tree

Eliminando un directorio no vacío

Pero que pasaría, se quisiésemos eliminar un directorio no vació? Intentemoslo. Tenga en cuenta que el directorio sobre el que vamos a ejecutar rmdir se encuentra en la misma posición que nuestro prompt.

rmdir DirNoVacio

Se nos informara que DirNoVacio no esta vacío y que rmdir fallo al intentar borrarlo.

Eliminando un archivo

Y que pasaría si intentamos ejecutarlo sobre un archivo? Con probar no perdemos nada. Como Archivo.txt se encuentra en la misma posición que nuestro prompt, simplemente ejecutamos.

rmdir Archivo.txt

Como podemos observar, la salida estándar nos informa que Archivo.txt no es un directorio y que rmdir no pudo eliminarlos.

Eliminar varios directorios vacíos simultáneamente

El comando rmdir es capaz de ejecutar de forma simultanea el borrado de varios directorio en una misma linea de ejecución. Para ejemplificarlo, nos vamos a salir del contexto de trabajo en el que estábamos y no moveremos al directorio DirRMDIR, creado para este ejemplo. Cuyo contenido los visualizamos con el comando ls:

ls -l

Donde observamos una serie de directorios vacíos. Para eliminarlos en una sola linea de comando, ejecutamos.

rmdir Carpeta01 Carpeta02 Carpeta03 Carpeta04 Carpeta05

Si listamos con el comando ls.

Veremos que las carpetas fueron eliminadas sin mas, de forma simultanea.

Nota: Cuando un elemento es eliminado por rmdir, este no va a la papelera. Es eliminado directamente.

Eliminando un directorio vacío

Los mensaje por salida estándar son muy útiles cuando trabajamos con lineas de comando, esto nos permite obtener información de las ejecuciones que no siempre nos es otorgada por defecto. En el caso de rmdir, contamos con el parámetro -v, (o –verbose) que no mostrará por salida estándar un mensaje por cada directorio procesado (sea eliminado o no).

Para este ejemplo nos saldremos del contexto de trabajo creado para el desarrollo de este articulo. Nos encontramos dentro de un directorio nombrado como DirRMDIR, cuyo contenido es:

Borraremos con rmdir de forma simultanea todo los directorio y usaremos el parámetro -v para que se nos imprima por salida estándar información del proceso que le ordenamos.

rmdir -v Carpeta01 Carpeta02 Carpeta03 Carpeta04 Carpeta05

Como podemos observar, se nos imprimió un mensaje que nos indica directorio por directorio que están siendo borrados, añadiendo sobre el final, el nombre del directorio sobre el que está accionando. Si lo comparamos que ejecuciones previas, podremos notar, que solo se nos informo, por medio de esta salida, cuando algo salio mal. Si vuelves para atrás en esta entrada ¿Puedes identificar cuales fueron estos casos?

No imprime mensaje de fallos

Como vimos anteriormente, cuando rmdir no puede eliminar un directorio o un archivo nos lo hace saber por la salida estándar. Cuando no queramos que se nos imprima un mensaje, el comando rmdir nos brinda del parámetro –ignore-fail-on-non-empty. Veamos como funciona.

Para ejemplificar, vamos a ejecutar rmdir sobre el directorio TioNovato. Si repasamos su contenido, podremos observar que el directorio no esta vació, por lo que al internar borrarlo con esta herramienta, se nos informara que:

rmdir TioNovato

De no querer que se nos informe nada en la salida estándar, podemos ejecutar:

rmdir --ignore-fail-on-non-empty TioNovato

Y no recibiremos ningún mensaje al respecto.

Uso de rutas

El uso de rutas como parámetros forman parte de la sintaxis de rmdir, para quienes no sepan, existen dos tipos de rutas, relativas y absolutas. Vemos como utilizarlas por separado.

De rutas absoluta

Para hacer uso de una ruta absoluta que apunta al directorio, nos basta con saber que esta debe ser indicada desde el directorio raíz (/), pasando por todos los directorios hasta el que necesitamos apuntar. En el uso de rutas absolutas no necesitamos saber donde nos encontramos posicionados con el prompt, pero si donde se encuentra el elemento que necesitamos apuntar.

Para este ejemplo, vamos a eliminar el directorio DirVacio, ubicado en /home/cristian/TioNovato, dando por hecho que ya sabes que para que pueda ser eliminado, estamos apuntando a un directorio y este debe estar vacío. Para esta ejecución, haremos uso también del parámetro -v, para que se nos informe si el directorio fue eliminado.

Ejecutemos:

rmdir -v /home/cristian/TioNovato/DirVacio

Como observamos, el directorio DirVacio fue eliminado. Aun así, revisemos el directorio TioNovato.

tree

Confirmando que fue suprimido.

De ruta relativa

En el caso de necesitar usar rutas relativas, es necesario que sepamos donde estamos posicionados con el prompt en las estructura de directorios y donde esta el directorio que necesitamos apuntar.

Primero que nada veamos donde nos encontramos. Tenga el cuenta que seguimos trabajando sobre el contexto creado mencionado al comienzo de esta entrada. Para saber nuestra posición ejecutamos el comando pwd.

pwd

Para este ejemplo, vamos a eliminar el directorio DirVacio (Si, lo volví a crear), ubicado en /home/cristian/TioNovato, pero nosotros indicaremos en este ejemplo el camino relativo al directorio desde nuestra posición. ¿Como?, veamos. Haremos uso también del parámetro -v en este ejemplo, para visualizar el proceso.

rmdir -v ../DirVacio

Si no entendiste que paso, te explico. Lo que hice fue indicar que desde donde me encontraba (en /home/cristian/TioNovato/DirPadre), vuelva un directorio hacia atrás utilizando el directorio especia «../» (Que sería como si me posicionara en el directorio /home/cristian/TioNovato)y desde allí indique la ruta mas corta al directorio DirVacio. Como se encontraba justo en ese directorio, solo tuve que indicar su nombre.

Para saber mas sobre como trabajar con rutas relativas y absolutas, te invito a leer un articulo dedicado a este tema aquí.

Elimina directorios padres

En ocasiones, podrías necesitar borrar no solo un directorio, sino sus antecesores (siempre y cuando estén vacíos). El comando rmdir nos permite eliminar un directorio y sus sucesivos directorios padres si lo ejecutamos con el parámetro -p.

Valiendonos de los directorios de trabajos creados, eliminaremos el directorio vacío DirHijo y su directorio padre DirPadre. (DirPadre/DirHijo). Nos encentramos en el directorio TioNovato y ejecutamos:

rmdir -v -p DirPadre/DirHijo

Como podemos observar, ambos directorios fueron eliminados.

De no haber utilizado el parámetro -p, ¿Qué hubiera pasado?, ¿Qué tipo de ruta utilizamos?, ¿Podríamos haber indicado la ruta de otra manera?. Lo dejo de tarea…

Espero sea de utilidad
Saludos, Cristian.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

18 − 9 =