viernes, 16 de septiembre de 2011

Sesión 7 Links Duros y Suaves

Un link es un archivo que hace referencia a un archivo original.

Existen 2 tipos de links:

  • Links Duros: Son enlaces a un archivo, ambos tienen el mismo valor de inodo y tamaño.
  • Links Suaves (Simbólicos): Son accesos directos a un archivo original, tienen distinto inodo y tamaño, si se borra el archivo original el enlace suave pierde su contenido, si se restaura el archivo original, el link suave vuelve a tener contenido.

Ahora vamos a crear 2 enlaces, primero vamos a crear una carpeta en nuestro home llamada enlaces:

mi-usuario@maquina:~$ mkdir enlaces
mi-usuario@maquina:~$

Entramos a la carpeta enlaces y copiamos el archivo en la ruta /etc/passwd a nuestra carpeta enlaces, renombrandolo como passwd.backup

mi-usuario@maquina:~$ cd enlaces
mi-usuario@maquina:~/enlaces$ cp /etc/passwd passwd.backup
mi-usuario@maquina:~/enlaces$ ls
passwd.backup

Es importante copiar el archivo passwd, para trabajar con la copia y no con el original, recuerda que con los enlaces al realizar un cambio se ve reflejado en el archivo original.

Ahora vamos a hacer un enlace duro llamado passwd.hard haciendo tomando como referencia el archivo passwd.backup el cual esta dentro de nuestra carpeta enlaces.

mi-usuario@maquina:~/enlaces$ ln passwd.backup passwd.hard
mi-usuario@maquina:~/enlaces$

Vamos a listar el contenido de nuestra carpeta:

mi-usuario@maquina:~/enlaces$ ls -lih
total 8.0K
268975 -rw-r--r-- 2 mi-usuario mi-usuario 2.0K 2011-09-16 20:06 passwd.backup
268975 -rw-r--r-- 2 mi-usuario mi-usuario 2.0K 2011-09-16 20:06 passwd.hard

Como podrás observar ambos tienen el mismo peso (2.0K) y el mismo número de inodo (268975), se creo un archivo identico al original. Si realizaramos un cambio en cualquiera de los 2 archivos se vería reflejado automáticamente en el otro.

Ahora vamos a crear un enlace suave tomando como referencia el archivo passwd.backup

mi-usuario@maquina:~/enlaces$ ln -s passwd.backup passwd.soft
mi-usuario@maquina:~/enlaces$ 

Listamos el contenido de la carpeta enlaces

mi-usuario@maquina:~/enlaces$ ls -lih
total 8.0K
268975 -rw-r--r-- 2 mi-usuario mi-usuario 2.0K 2011-09-16 20:06 passwd.backup
268975 -rw-r--r-- 2 mi-usuario mi-usuario 2.0K 2011-09-16 20:06 passwd.hard
283727 lrwxrwxrwx 1 mi-usuario mi-usuario   13 2011-09-16 20:18 passwd.soft -> passwd.backup

Como puedes darte cuenta se creo un archivo que apunta al archivo passwd.backup, sin embargo, a difererencia de los enlaces duros, los enlaces suaves tienen distinto inodo y tamaño con respecto al archivo original.

Por último vamos a borrar el archivo passwd.backup.

mi-usuario@maquina:~/enlaces$ rm  passwd.backup 
mi-usuario@maquina:~/enlaces$

Listamos el contenido del achivo passwd.hard

mi-usuario@maquina:~/enlaces$  cat passwd.hard

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
- - El resto de la salida se omite - -

El contenido del enlace duro continua intacto, ahora vamos a listar el contenido del enlace passwd.soft

mi-usuario@maquina:~/enlaces$  cat passwd.soft
cat: passwd.soft: No existe el fichero o el directorio
mi-usuario@maquina:~/enlaces$ ls
passwd.hard  passwd.soft

El intérprete nos dice que no existe el archivo aún cuando el link permanece ahí, sin embargo si volvemos a copiar el archivo a la carpeta, con el mismo nombre podrás ver que nuevamente el link suave tiene contenido.

mi-usuario@maquina:~/enlaces$ cp /etc/passwd passwd.backup
mi-usuario@maquina:~/enlaces$ cat passwd.soft 
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
- - El resto de la salida se omite - -


No hay comentarios:

Publicar un comentario en la entrada