Qué son y como usar los enlaces físicos y simbólicos en Linux

Fuente: Bitelia

Si eres usuario de alguna distribución Linux. seguramente has escuchado hablar de enlaces pero ¿qué son realmente? ¿Para qué sirven? En Linux, cada archivo en el sistema está representado por un inodo. Un inodo no es más que un bloque que almacena información de los archivos, de esta manera a cada inodo podemos asociarle un nombre. A simple vista pareciera que a un mismo archivo no podemos asociarle varios nombres, pero gracias a los enlaces esto es posible.

Enlaces físicos


Un enlace físico no es más que una etiqueta o un nuevo nombre asociado a un archivo. Es una forma de identificar el mismo contenido con diferentes nombres. Éste enlace no es una copia separada del archivo anterior sino un nombre diferente para exactamente el mismo contenido.

Para crear un enlace físico en Linux del archivo archivo.txt a nuevo_nombre.txt, ejecutamos:
$ ln archivo.txt nuevo_nombre.txt

El enlace aparecerá como otro archivo más en el directorio y apuntará al mismo contenido de archivo.txt. Cualquier cambio que se haga se reflejará de la misma manera tanto para archivo.txt como para nuevo_nombre.txt.

Un enlace se puede borrar usando el comando rm de la misma manera en que se borra un archivo, sin embargo el contenido del inodo no se eliminará mientras haya un enlace físico que le haga referencia. Esto puede tener varias ventajas, pero también puede complicar la tarea de seguimiento de los archivos. Un enlace físico tampoco puede usarse para hacer referencia a directorios o a archivos en otros equipos.

RobotSkirtscc

Enlaces simbólicos


Un enlace simbólico también puede definirse como una etiqueta o un nuevo nombre asociado a un archivo pero a diferencia de los enlaces físicos, el enlace simbólico no contiene los datos del archivo, simplemente apunta al registro del sistema de archivos donde se encuentran los datos. Tiene mucha similitud a un acceso directo en Windows o un alias en OS X.

Para crear un enlace simbólico del archivo archivo.txt a nuevo_nombre.txt, ejecutamos:
$ ln -s archivo.txt nuevo_nombre.txt

Éste enlace también aparecerá como otro archivo más en el directorio y apuntará al mismo contenido de archivo.txt, reflejando todos los cambios que se hagan tanto para archivo.txt como para nuevo_nombre.txt.

Sobre un enlace simbólico también se pueden usar todos los comandos básicos de archivos (rm, mv, cp, etc). sin embargo cuando el archivo original es borrado o movido a una ubicación diferente el enlace dejará de funcionar y se dice que el enlace está roto.

Un enlace simbólico permite enlazar directorios y, usando NFS, también permite enlazar archivos fuera del equipo. En un principio puede parecer complicado, pero luego de leer detalladamente seguro que tendrás más claro cuándo usar un enlace simbólico y cuándo usar uno físico.