Enlace suave
Un enlace blando (enlace simbólico o enlace simbólico) permite asociar un archivo con otro. Es similar a un acceso directo en MS Windows, donde el archivo real reside en algún lugar de la estructura del directorio, pero es posible que tenga varios accesos directos o punteros con diferentes nombres que lo apunten. Esto significa que acceder al archivo a través del nombre de archivo real o cualquiera de los accesos directos produciría un resultado idéntico. Cada enlace suave tiene un número de inodo único.
Un vínculo suave puede cruzar los límites del sistema de archivos y se puede utilizar para vincular directorios.
Para crear un enlace suave para unix-admin como sys-admin en el mismo directorio, use el comando ln con la opción -s:
$ cd /home/geek/ $ ln -s unix-admin sys-admin
donde:
- unix-admin es un archivo existente
- sys-admin está vinculado a unix-admin
Una vez que haya creado el enlace, emita ll con la opción -i. Observe la letra l como el primer carácter en la segunda columna de la salida. Además, observe una flecha que apunta desde el archivo vinculado al archivo original. Esto indica que sys-admin es simplemente un puntero a unix-admin. La opción -i muestra los números de inodo asociados en la primera columna.
$ ll -i 3674110 lrwxrwxrwx 1 geek geek 10 Jan 12 11:03 sys-admin -> unix-admin 3674109 -rw-rw-r-- 1 geek geek 0 Jan 12 11:03 unix-admin
Si elimina el archivo original (unix-admin en este ejemplo), el enlace sys-admin permanecerá pero apunta a algo que no existe.
Enlace fijo
Un vínculo físico asocia dos o más archivos con un único número de inodo . Esto permite que los archivos tengan permisos, propiedad, marca de tiempo y contenidos de archivo idénticos. Los cambios realizados en cualquiera de los archivos se reflejan en los otros archivos vinculados. Todos los archivos contienen datos idénticos.
Un vínculo fijo no puede cruzar los límites del sistema de archivos y no se puede utilizar para vincular directorios.
El siguiente ejemplo usa el comando ln y crea un enlace fijo para el archivo "ubuntu-rocks" ubicado en /home/geek a "debian-os" en el mismo directorio. Tenga en cuenta que el archivo "debian-os" no existe, pero se creará.
$ cd /home/geek/ $ ln ubuntu-rocks debian-os
Después de crear el enlace, ejecute ll con la opción -i:
$ ll -i 3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 debian-os 3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 ubuntu-rocks
Mira la primera y la tercera columna. La primera columna indica que ambos archivos tienen números de inodo idénticos y la tercera columna indica que cada archivo tiene dos enlaces duros. “ubuntu-rocks” apunta a “debian-os” y viceversa. Si elimina el archivo original (ubuntu-rocks en este ejemplo), aún tendrá acceso a los datos a través del archivo vinculado debian-os.