Los enlaces simbólicos son archivos que enlazan directamente con otros archivos. En los sistemas Linux, los enlaces simbólicos sirven como accesos directos.
El término «enlace simbólico» es un acrónimo de «simbólico» y «enlace», que destaca la utilidad de dichos archivos como referencias simbólicas a otras cosas.
Los llamados enlaces «fijos» funcionan más como copias de los archivos a los que hacen referencia que como enlaces literales. Los enlaces «suaves» o simbólicos simplemente apuntan a sus objetivos. La eliminación de estos enlaces no hace nada a los archivos a los que apuntan, y se pueden crear tantos enlaces simbólicos como sean necesarios para mayor comodidad. Esto los hace excelentes para señalar archivos en sistemas de archivos y particiones por igual.
Cambiar la estructura subyacente de un sistema de archivos para que una sola aplicación se ejecute de manera más eficiente sería una tarea seria. En cambio, los enlaces simbólicos a menudo se usan para simplificar las cosas y crear jerarquías de archivos artificiales para que los programas hagan referencia sin afectar las ubicaciones de los archivos originales.
El uso de enlaces simbólicos facilita la adaptación de diferentes programas, pero también complica el análisis del sistema de archivos.
Cuando los enlaces simbólicos funcionan correctamente, explican una ruta clara a un archivo que realmente existe. Sin embargo, los enlaces simbólicos que fallan apuntan a archivos que no existen o que han sido eliminados. Estos enlaces simbólicos crean confusión tanto para los usuarios humanos como para los programas que dependen de su precisión.
Si los archivos a los que se dirigen los enlaces simbólicos se intercambian, el enlace en sí continúa apuntando al nuevo archivo, ignorando su contenido por completo. Esta funcionalidad de fe ciega hace que el encadenamiento de enlaces y los enlaces relativos sean una posibilidad.
El encadenamiento de enlaces, en particular, puede dar lugar a enlaces cíclicos (bucles de enlace de longitud infinita) si un enlace hace referencia a un segundo enlace que, a su vez, apunta al primero.
Tales enigmas no son necesariamente causados por la intervención humana únicamente; Los estándares de montaje de dispositivos no óptimos y ciertos procesos automatizados pueden contribuir a crear lo que se denomina «enlaces muertos» en abundancia desafortunada. Aquí es precisamente donde las técnicas de gestión resultan útiles.
En los sistemas Linux, hay una variedad de utilidades disponibles para manejar enlaces simbólicos. Una inclusión predeterminada en coreutils es ln
lo que facilita la creación de dichos enlaces desde el terminal.
Sin embargo, para administrar completamente los enlaces simbólicos, deberá poder encontrarlos y analizarlos rápidamente. Una opción de línea de comandos simple que vale la pena considerar para este propósito se llama acertadamente symlinks
.
Aunque algunas distribuciones de Linux como Fedora vienen con esta herramienta instalada por defecto, otras, como Ubuntu, no. Para instalar «Symlinks» en Ubuntu, simplemente abra una ventana de terminal e ingrese lo siguiente:
sudo apt install symlinks
Creación de enlaces simbólicos
Crear enlaces simbólicos desde su terminal es fácil en Linux. Ingrese el código que sigue, cambiando «original-file.txt» por el nombre y la extensión de archivo de su objetivo elegido, luego modifique «linkname» a lo que quiera que sea.
ln -s original-file.txt linkname
los ln
La utilidad es para hacer enlaces, y lo hará cuando la ejecutes. los -s
incluido en el comando anterior hace que el enlace generado sea simbólico.
Los enlaces simbólicos relativos también se pueden crear agregando un -r
al mismo comando de la siguiente manera:
ln -rs original-file.txt linkname
Los enlaces relativos siguen siendo funcionales independientemente de los cambios en los puntos de montaje.
Encontrar enlaces simbólicos
La utilidad Symlinks mencionada anteriormente nos proporciona una forma sencilla de encontrar enlaces simbólicos en un directorio determinado. El comando para esto es el siguiente: (Cambie «directory-name» a la ruta completa del directorio que desea buscar).
symlinks -v directory-name
Agregar un r
a este comando le dice a Symlinks que verifique recursivamente los archivos dentro del directorio especificado. Esto se parece a lo siguiente:
symlinks -rv directory-name
Tenga cuidado al usar la recursividad si le preocupan los problemas que surgen con los enlaces cíclicos. Los enlaces cíclicos son enlaces que terminan regresando erróneamente a sí mismos; pueden hacer que la utilidad Symlinks se cuelgue mientras intenta recurrir a su estructura infinita.
La versión no recursiva del comando que se muestra arriba simplemente revelará que cualquier enlace cíclico existente está «colgando» o, en otras palabras, roto. Es el análisis que la herramienta Symlinks es capaz de hacer lo que le permite reparar dichos enlaces rotos.
Reparación de enlaces simbólicos
Arreglar enlaces simbólicos en un directorio determinado es relativamente sencillo con Symlinks. Aquí está el comando a usar:
symlinks -cds directory-name
El comando anterior hace varias cosas a la vez. Convierte los enlaces absolutos que encuentra en enlaces relativos, elimina los enlaces colgantes y acorta los enlaces «largos» (enlaces con mucho «../» en sus rutas).
Si no está seguro de los posibles resultados de ejecutar esta operación, puede probar qué -c
solo haría sin cambiar nada ejecutando lo siguiente:
symlinks -t directory-name
Con suerte, ahora comprende mejor qué son los enlaces simbólicos y cómo puede administrarlos de manera eficiente. Mira el resto de los Capacidades de la utilidad Symlinks para ejecutar operaciones más específicas en su sistema de archivos.