jueves, 30 de abril de 2015

Eliminando archivos y directorios

Como vimos anteriormente, el comando rm se usa para borrar archivos y directorios. Vamos a usarlo para limpiar un poco nuestro terreno de juego. Primero, borraremos uno de nuestros enlaces duros:

[me@linuxbox playground]$ rm fun-hard
[me@linuxbox playground]$ ls -l
total 12
drwxrwxr-x 2 me me 4096 2008-01-15 15:17 dir1
lrwxrwxrwx 1 me me    4 2008-01-16 14:45 dir1-sym -> dir1
drwxrwxr-x 2 me me 4096 2008-01-15 15:17 dir2
-rw-r--r-- 3 me me 1650 2008-01-10 16:33 fun
lrwxrwxrwx 1 me me    3 2008-01-15 15:15 fun-sym -> fun

Ha funcionado como esperábamos. El archivo fun-hard se ha ido y el contador de enlaces de fun muestra que se ha reducido de cuatro a tres, como indica el segundo campo del listado del directorio. A continuación, borraremos el archivo fun, y sólo por divertirnos, incluiremos la opción “-i” para ver qué hace:

[me@linuxbox playground]$ rm -i fun
rm: remove regular file `fun'?

Escribe “y” en la consola y el archivo se borrará. Pero ahora echemos un vistazo a la salida de ls. ¿Ves lo que le ha pasado a fun-sym? Como era un enlace simbólico apuntando a un archivo que ahora no existe, el enlace está roto:

[me@linuxbox playground]$ ls -l
total 8
drwxrwxr-x 2 me me 4096 2008-01-15 15:17 dir1
lrwxrwxrwx 1 me me    4 2008-01-16 14:45 dir1-sym -> dir1
drwxrwxr-x 2 me me 4096 2008-01-15 15:17 dir2
lrwxrwxrwx 1 me me    3 2008-01-15 15:15 fun-sym -> fun

La mayoría de las distribuciones Linux  configuran ls para mostrar los enlaces rotos. En Fedora, los enlaces rotos ¡se muestran en texto rojo parpadeante! La presencia de un enlace roto no es, por sí misma, peligrosa pero sí indica un poco de desorden. Si intentamos usar un enlace roto veremos esto:

[me@linuxbox playground]$ less fun-sym
fun-sym: No such file or directory

Limpiemos un poco. Borraremos los enlaces simbólicos:

[me@linuxbox playground]$ rm fun-sym dir1-sym
[me@linuxbox playground]$ ls -l
total 8
drwxrwxr-x 2 me me 4096 2008-01-15 15:17 dir1
drwxrwxr-x 2 me me 4096 2008-01-15 15:17 dir2

Una cosa que hay que recordar sobre los enlaces simbólicos es que la mayoría de las operaciones con archivos son realizadas en el archivo de destino, no en el propio enlace. rm es una excepción. Cuando borras un enlace, es el enlace el que es eliminado, no el archivo de destino.

Finalmente, borraremos nuestro terreno de juego. Para hacerlo, volveremos a nuestro directorio home y usaremos rm con la opción recursiva (-r) para borrar playground y todo su contenido, incluidos los subdirectorios:

[me@linuxbox playground]$ cd
[me@linuxbox ~]$ rm -r playground

No hay comentarios:

Publicar un comentario