Un enlace simbólico, también conocido como symlink o softlink, es un tipo especial de archivo que apunta a otro archivo o directorio.
En esta guía, veremos cómo utilizar el comando ln para crear enlaces simbólicos.
Tipos de enlaces
Hay dos tipos de enlaces en los sistemas Linux/UNIX:
-Enlaces duros. Puedes pensar en un enlace duro como un nombre adicional para un archivo existente. Los enlaces duros asocian dos o más nombres de archivos con el mismo inodo. Puedes crear uno o más enlaces duros para un solo archivo. No se pueden crear enlaces duros para directorios y para un archivo en un sistema de archivos o partición diferente.
-Enlaces blandos. El enlace blando es algo así como un acceso directo en Windows. Es un apunte indirecto a un fichero o directorio. A diferencia de un enlace duro, un enlace simbólico puede apuntar a un archivo o a un directorio en un sistema de archivos o partición diferente.
Comando ln
ln es una utilidad para crear enlaces entre archivos. Por defecto, el comando ln crea enlaces duros. Para crear enlaces simbólicos utiliza la opción -s (–simbolic).
La sintaxis del comando ln es la siguiente:
ln [OPCIONES] enlace
Creación de enlaces simbólicos
Para crear un enlace simbólico en Linux, abre tu terminal y escribe:
ln -s source_file symbolic_link
Reemplaza source_file por el nombre del fichero existente para el que deseas crear el enlace simbólico y symbolic_link por el nombre del enlace simbólico.
El parámetro symbolic_link es opcional. Si no especificas el enlace simbólico, el comando ln creará un nuevo enlace en tu directorio actual.
Creación de enlaces a archivos
En el siguiente ejemplo estamos creando un enlace simbólico llamado my_link.txt a un archivo llamado my_file.txt:
In -s my_file.txt my_link.txt
Para verificar que el enlace simbólico fue creado, usa el comando ls:
ls -l my_link.txt
La salida se verá algo así:
lrwxrwxrwx 1 linuxize users 4 Nov 2 23:03 my_link.txt -> my_file.txt
El carácter l es un indicador de tipo de fichero que representa un enlace simbólico. El símbolo -> muestra el archivo al que apunta el enlace simbólico.
Creación de enlaces a directorios
El comando para crear un enlace simbólico a un directorio es el mismo que cuando se crea un enlace simbólico a un archivo. Especifica el nombre del directorio como el primer parámetro y el enlace simbólico como el segundo parámetro.
Por ejemplo, si quieres crear un enlace simbólico desde el directorio /mnt/my_drive/movies al directorio ~/my_movies que deseas ejecutar:
ln -s /mnt/my_drive/movies ~/my_movies
Sobreescritura de Symlinks
Si intentas crear un enlace simbólico que ya existe, el comando ln imprimirá un mensaje de error.
In -s my_file.txt my_link.txt
ln: no se ha podido crear el enlace simbólico ‘my_link.txt’: El archivo existe
Para sobreescribir la ruta de destino del enlace simbólico, utiliza la opción -f (–force).
ln -sf my_file.txt my_link.txt
Eliminación de enlaces simbólicos
Puedes eliminar un enlace simbólico existente utilizando el comando unlink o rm.
La sintaxis del comando unlink es muy simple:
unlink symlink para eliminar
Eliminar un enlace simbólico usando el comando rm es lo mismo que eliminar un archivo:
rm symlink para eliminar
Deberías preferir utilizar la utilidad de desvinculación para eliminar enlaces simbólicos.
Si borras o mueve el archivo fuente a una ubicación diferente, el archivo simbólico quedará colgando. Debes eliminarlo porque ya no funcionará.
Conclusión
A estas alturas deberías tener una buena comprensión de cómo usar el comando ln y cómo crear enlaces simbólicos.