Enlace simbólico

En informática, un enlace simbólico, en sistemas Unix o GNU/Linux, indica un acceso a un directorio o fichero que se encuentra en un lugar distinto dentro de la estructura de directorios. Una modificación realizada utilizando este enlace se reflejará en el original; pero, por el contrario, si se elimina el enlace, no se eliminará el auténtico.

Otra opción menos usual es utilizar un enlace duro (hard link), en el que el acceso es indistinguible del real, y el borrado del enlace provoca el borrado del archivo o directorio si era el último enlace duro al fichero.

Una ventaja del enlace simbólico frente a los enlaces duros es que es posible realizar enlaces simbólicos que apunten a objetos en sistemas de archivos que se hallan en otros dispositivos o particiones dentro del mismo dispositivo. Además, cualquier usuario puede crear un enlace simbólico a un directorio, acción que está restringida al superusuario en sistemas Unix, aunque en los sistemas modernos esta posibilidad no existe.

Diferencias entre enlaces duros y enlaces simbólicos en ambiente GNU Linux utilizando los comandos echo, ln y ls.

En resumen, los enlaces simbólicos indican un acceso a un directorio o un fichero que se encuentra en un lugar distinto dentro de la estructura de directorios.

El comando utilizado normalmente para gestionar los enlaces (tanto duros como simbólicos) es ln.

Los permisos del sistema de archivo sobre el enlace simbólico no tiene relevancia alguna: los permisos en el objeto al cual referencia el enlace simbólico son los que determinan los permisos de acceso.

La gráfica ilustra la creación de un fichero por medio del comando echo, luego la creación de un enlace permanente y a continuación un enlace simbólico. El modificar el nombre del archivo original no afecta al enlace permanente pero el enlace simbólico resulta roto.

Es interesante observar que el tamaño de un enlace simbólico es igual al número de caracteres que componen el nombre del fichero enlazado y no al tamaño del mismo (ver gráfico que ilustra un ejemplo práctico). Es decir: la información que guarda el enlace simbólico es el nombre del archivo enlazado,[1]si el archivo enlazado cambia de nombre, el enlace simbólico automáticamente es roto. Un enlace ("permanente" o "duro") no presenta ese problema debido a que el inodo tienen el mismo valor, se pueden cambiar los nombres de ambos ficheros y la relación se mantiene (ver y detallar siguiente ejemplo gráfico).

Referencias

  1. Bonesio, John (27 de noviembre de 2017). «Migrating to Linux: Disks, Files, and Filesystems» (html). Linux.Com (en inglés). Archivado desde el original el 28 de noviembre de 2017. Consultado el 25 de marzo de 2018. «Symbolic links are a little like Windows shortcuts. The filesystem entry contains a path to another file or directory. In a lot of ways, they work like hard links in that they can create an alias to another file. However, symbolic links can alias directories as well as files, and symbolic links can refer to items in a different filesystem on different media where hard links cannot. (Note that you can create symbolic links also with the ln command, but with the -s option.)». 

Véase también

Enlace duro