El enlace simbólico se conoce comúnmente como enlace suave o enlace simbólico , que es un tipo especial de archivo que hace referencia a otro archivo o directorio.
En esta guía, aprenderá cómo crear un enlace simbólico en Linux usando el comando ln para crear enlaces entre archivos.
Tipos de enlaces
En Linux, tenemos 2 tipos de enlaces:enlaces blandos y enlaces duros.
Enlaces duros: Un enlace duro es una réplica de un archivo original. Da acceso a los datos en el archivo de destino. Un usuario no puede crear un vínculo físico para un directorio, solo para un archivo. Además, los archivos vinculados tienen un número de inodo común. Cuando se elimine o elimine el archivo original, el vínculo fijo seguirá funcionando y contendrá el contenido del archivo eliminado. También es importante tener en cuenta que los enlaces físicos no se extienden a través de diferentes sistemas de archivos.
Enlaces blandos: A diferencia de un enlace físico, un enlace suave es simplemente un puntero a un nombre de archivo y no contiene el contenido de otro archivo o el archivo de destino al que se hace referencia. Si el archivo de destino se elimina o elimina, el enlace flexible deja de existir. El lado bueno de los enlaces blandos es que se pueden usar para enlazar a un archivo o directorio y pueden abarcar diferentes sistemas de archivos.
Cómo usar el comando ln
El comando ln se usa para hacer enlaces entre archivos. El comando, de forma predeterminada, crea un vínculo físico. Para crear un vínculo suave, simplemente agregue la -s opción ( --simbólico ).
Sintaxis:
ln [OPTION] TARGET LINK_NAME
Para evitar confusiones, utilice la ruta absoluta (ruta relativa) del archivo de origen y de destino al crear un enlace simbólico.
Cómo crear un enlace simbólico a un archivo
Para crear un enlace simbólico a un archivo, ejecute el siguiente comando:
$ ln -s { OPTIONS } file symlink
Cuando tanto el archivo como el enlace simbólico están definidos, el comando ln crea un enlace desde el archivo que es el primer argumento del archivo definido en el segundo argumento enlace simbólico .
Por ejemplo, para crear un enlace simbólico a un archivo, use la sintaxis,
$ ln -s original_file symlink
Nota:ln no devuelve ningún resultado en caso de éxito.
En el comando, reemplace el archivo_original con el archivo existente para el que desea crear el enlace simbólico y el enlace simbólico con el enlace simbólico.
Veamos un ejemplo real:
$ ln -s file1.txt sample_link.txt
El comando anterior crea un enlace simbólico llamado 'sample_link.txt' al archivo existente 'file1.txt' en el directorio actual.
Para verificar la creación del enlace, simplemente use el comando ls como se muestra:
$ ls -l sample_link.txt
Su salida debe parecerse a lo que tengo a continuación:
lrwxrwxrwx 1 winnie winnie 9 Jul 12 23:43 sample_link.txt -> file1.txt
En los permisos, el l
bandera indica que este es un enlace simbólico, y el carácter - >
indica que el enlace simbólico apunta al archivo file1.txt
.
A veces, los enlaces simbólicos no funcionan debido a problemas con la ruta, sugiera usar la ruta completa:
# absolute (full path)
ln -s /path/to/originals/originalfile1.txt backup/copy.txt
# relative
cd backup
ln -s ../originals/originalfile1.txt copy.txt
Cómo crear enlaces simbólicos a un directorio
Crear un enlace simbólico a un directorio es tan fácil como crear uno a un archivo. La sintaxis sigue siendo prácticamente la misma. El primer argumento toma el nombre del directorio mientras que el enlace simbólico se especifica como segundo argumento.
La siguiente sintaxis es un ejemplo de cómo lo haría:
$ ln -s /path/to/directory ~/directory
Por ejemplo, para crear un enlace simbólico desde el directorio /Descargas/musica/ a ~/mi_música ejecuta el comando:
$ ln -s /Downloads/music ~/my_music
Cómo sobrescribir un enlace simbólico
Sobrescribir enlaces simbólicos simplemente invocando el comando ln sin argumentos adicionales siempre le dará un error como se muestra:
Por ejemplo, si intenta ejecutar el siguiente comando nuevamente:
$ ln -s file1.txt sample_link.txt
Obtendrá el error que se muestra:
ln: failed to create symbolic link 'sample_link.txt': File exists
Una solución a este problema es introducir otra opción -f o --fuerza para sobrescribir la ruta de destino del enlace simbólico como se muestra:
$ ln -sf file1.txt sample_link.txt
Esta vez, sobrescribir el enlace suave no producirá ningún error.
Cómo eliminar enlaces simbólicos
Para deshacerse de los enlaces simbólicos de Linux o los enlaces simbólicos, puede usar el comando rm o unlink dominio. Y es bastante fácil. Para desvincular comando, utilice la siguiente sintaxis para eliminar los enlaces simbólicos:
$ unlink symlink_to_be_removed
La eliminación de un vínculo suave con el comando rm es igual que cuando elimina o elimina un archivo normal:
$ rm symlink_to_be_removed
¿Son importantes los enlaces simbólicos?
Por lo general, es una buena idea crear un enlace simbólico a un archivo si desea lograr algo de lo siguiente:
- Tener acceso a archivos desde varias ubicaciones sin crear copias duplicadas que necesariamente pueden ocupar mucho espacio en disco.
- Si desea conservar las versiones originales del archivo y asegurarse de que el enlace apunte a la última versión del archivo. Esto funciona porque el enlace simbólico permanecerá activo incluso después de haber reemplazado el archivo con un archivo diferente con el mismo nombre de archivo.
Los programas de Linux usan enlaces simbólicos, como alias para que los usuarios no tengan que saber qué versión de código se usó.
# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2
Conclusión
Los enlaces simbólicos y los accesos directos estándar son similares, pero existen algunas diferencias entre los dos.
Un acceso directo estándar, como el que encontraría en Windows, es simplemente un archivo normal que apunta a un determinado directorio, archivo o aplicación. Este acceso directo suele aparecer como un icono que se puede crear en cualquier ubicación y, cuando se hace clic en él, se abre el archivo, el directorio o la aplicación original.
Un enlace simbólico en realidad representa el archivo original en un sentido funcional. Es un sustituto directo de un objeto como un archivo. Su sistema Linux lee el enlace simbólico de Linux como si fuera el objeto de destino. Un atajo ordinario simplemente hace referencia a un archivo o directorio, y no hace nada más.
Eso es todo acerca de cómo crear un enlace simbólico en Linux y para obtener más información, consulte ln man. Espero que hayan disfrutado de la lectura y por favor dejen sus comentarios y sugerencias.