Introducción
Un enlace crea una referencia a un archivo o a una carpeta. Los enlaces simbólicos se utilizan en Linux para gestionar y organizar archivos.
En esta guía, aprenderás cómo utilizar el comando ln para crear enlaces simbólicos en Linux.
Requisitos previos
- Un sistema que ejecute Linux
- Acceso a una ventana de terminal o línea de comandos (Actividades > Buscar > escribir Terminal)
- (opcional) Una cuenta de usuario con privilegios de sudo o root (necesaria para acceder a determinados archivos y directorios protegidos)
Comando Ln para crear enlaces simbólicos
Para utilizar el comando ln, abre una ventana de terminal y introduce el comando con el siguiente formato:
ln [-sf] [origen] [destino]
- Por defecto, el comando ln crea un enlace rígido (hard link).
- Utiliza la opción -s para crear un enlace simbólico (soft link).
- La opción -f fuerza al comando a sobrescribir un archivo que ya existe.
- El origen es el archivo o directorio al que se realiza el enlace.
- El destino es la ubicación donde se guarda el enlace; si se deja en blanco, el enlace simbólico se guarda en el directorio de trabajo actual.
Por ejemplo, crea un enlace simbólico con:
ln -s test_file.txt link_file.txt
Esto crea un enlace simbólico (link_file.txt) que apunta al archivo test_file.txt.
Para verificar si se ha creado el enlace simbólico, utiliza el comando ls:
ls -l link_file.txt

Crear un enlace simbólico a un directorio de Linux
Un enlace simbólico puede hacer referencia a un directorio. Para crear un enlace simbólico a un directorio en Linux:
ln -s /mnt/external_drive/stock_photos ~/stock_photos
Este ejemplo crea un enlace simbólico llamado stock_photos en el directorio home (~/). El enlace hace referencia al directorio stock_photos en una unidad externa (external_drive).

Nota: Si el sistema tiene conexión con otro equipo, como una red corporativa o un servidor remoto, los enlaces simbólicos se pueden vincular a recursos en esos sistemas remotos.
Forzar la sobrescritura de enlaces simbólicos
Es posible que recibas un mensaje de error como el que se muestra en la imagen siguiente:

El mensaje de error indica que ya hay un archivo en el destino con el nombre link_file.txt. Utiliza la opción -f para forzar al sistema a sobrescribir el enlace de destino:
ln -sf test_file.txt link_file.txt

Nota: El uso de la opción -f eliminará permanentemente el archivo existente.
Eliminar enlaces
Si el archivo original se mueve, elimina o no está disponible (por ejemplo, si un servidor se desconecta), el enlace no se podrá utilizar. Para eliminar un enlace simbólico, utiliza el comando rm (remove) o unlink:
rm link_file.txt
unlink link_file.txt

Enlaces simbólicos vs. Enlaces rígidos
El comando ln se puede utilizar para crear dos tipos diferentes de enlaces:
- Enlaces simbólicos
- Enlaces rígidos
Enlaces simbólicos
Un enlace simbólico, a veces llamado enlace simbólico o symlink, apunta a la ubicación o ruta del archivo original. Funciona como un hipervínculo en internet.
Aquí tienes algunos aspectos importantes de un enlace simbólico:
- Si se elimina el archivo de enlace simbólico, los datos originales permanecen.
- Si se mueve o elimina el archivo original, el enlace simbólico no funcionará.
- Un enlace simbólico puede hacer referencia a un archivo en un sistema de archivos diferente.
- Los enlaces simbólicos se utilizan a menudo para acceder rápidamente a un archivo de uso frecuente sin tener que escribir toda la ruta.
Enlaces rígidos
Cuando se almacena un archivo en un disco duro, ocurren varias cosas:
- Los datos se escriben físicamente en el disco.
- Se crea un archivo de referencia llamado inodo (inode) para indicar la ubicación de los datos.
- Se crea un nombre de archivo para referirse a los datos del inodo.
Un enlace rígido funciona creando otro nombre de archivo que hace referencia a los datos del inodo del archivo original. En la práctica, esto es similar a crear una copia del archivo.
Aquí tienes algunos aspectos importantes de los enlaces rígidos:
- Si se elimina el archivo original, los datos del archivo aún se pueden acceder a través de otros enlaces rígidos.
- Si se mueve el archivo original, los enlaces rígidos siguen funcionando.
- Un enlace rígido solo puede hacer referencia a un archivo en el mismo sistema de archivos.
- El inodo y los datos del archivo se eliminan permanentemente cuando el número de enlaces rígidos es cero.
Conclusión
Ahora deberías tener una comprensión sólida de los enlaces rígidos y simbólicos (soft), y cómo trabajar con ellos. Utiliza el comando ln para crear enlaces y verifica utilizando el comando ls.