Un enlace en los sistemas Linux son punteros a un archivo o directorio. Hay dos tipos de enlaces en Linux, a saber, enlaces blandos y duros.
En este artículo, examinaremos los enlaces blandos en detalle. Similar a los accesos directos en Windows, los enlaces blandos, también conocidos como enlaces simbólicos , apunte a un archivo sin almacenar el contenido del archivo. Cualquier cambio realizado en el archivo o en el enlace suave se refleja en ambas versiones del archivo.
Representación de Soft Links en Linux
Después de entender el concepto de enlaces blandos, necesitamos saber cómo detectar un enlace blando en un sistema de archivos.
Esquema de colores
El 'ls'
El comando proporciona un esquema de color para cada componente diferente en el sistema de archivos de Linux. Los enlaces blandos se indican con 'cyan'
color.
En el resultado anterior, 'desktop'
y 'program'
son enlaces blandos. Puede suceder que algunos sistemas hayan modificado sus esquemas de color predeterminados y, por lo tanto, no puedan descifrar los enlaces blandos.
Usando el ls -l comando, podemos encontrar claramente los enlaces presentes en un directorio.
No solo especifica enlaces en el directorio, sino que también muestra la ubicación del archivo original o el directorio para un enlace suave.
Representación de GUI
Similar a los accesos directos en Windows, Linux proporciona una pista en los íconos de los enlaces suaves. Los íconos de GUI para enlaces suaves contienen signos de flecha en la esquina inferior derecha.
Es bastante evidente a partir de la figura que el enlace suave llamado 'desktop'
es un puntero a un directorio mientras que 'program'
apunta a un archivo '.cpp'.
¿Cómo crear un enlace suave en Linux?
Ahora que hemos visto los métodos para detectar un enlace suave, aprenderemos cómo crear enlaces suaves en Linux. Esto se hace con la ayuda de 'ln'
comando.
ln -s <PATH>/<ORIGINAL_FILE> <LINK_NAME>
El 'ln'
El comando se usa específicamente para crear un enlace en Linux. El '-s'
La opción utilizada en el comando anterior representa la creación de un vínculo suave.
Usando el 'ls -l'
comando, podemos verificar si la creación de un enlace suave fue exitosa o no.
Editando el archivo original
Dado que un enlace suave es solo un símbolo para el archivo original, cualquier cambio realizado en el archivo original también se reflejará en el enlace suave. Demostremos los cambios:
- Archivo original – “my_program.cpp” en la carpeta Documentos
- Enlace suave – “programa” en el Escritorio
Usaremos el comando sed para editar el archivo original.
sed -i "s/main/disdain/g" my_program.cpp
El comando anterior simplemente encuentra todas las apariciones de la palabra "principal" y reemplaza cada una de ellas con la palabra "desdén".
El 'program'
El archivo presente en el escritorio es un enlace suave, por lo tanto, debe reflejar los cambios realizados en el archivo original.
Editar el contenido a través de un vínculo suave
La edición del contenido de un enlace suave también refleja los cambios en el archivo original. Esto se puede demostrar con la siguiente captura de pantalla:
Como se mencionó anteriormente, 'program'
es un enlace suave. Usando 'echo'
comando, agregamos la palabra “Editado” al enlace blando. Podemos ver claramente los cambios que ocurren en el archivo original 'my_program.cpp'
también.
Nota: Mientras editamos el enlace suave, no usamos'sed -i'
comando, como en el proceso, se elimina el enlace suave y se crea un nuevo archivo con el mismo nombre.Más adelante veremos que al eliminar el archivo original y volver a colocarlo, se conserva el vínculo.
Identificar enlaces blandos rotos en Linux
Los enlaces blandos se rompen cuando eliminamos el archivo original. Al usar el comando 'ls', los enlaces rotos se muestran en color rojo con un fondo negro.
En la figura anterior, movemos el archivo original al directorio actual. Cuando eliminamos el archivo original de su ubicación original, podemos ver el cambio de color en un enlace suave.
Reparar enlaces rotos
Cada enlace blando apunta a un archivo de origen. Podemos reparar fácilmente un enlace roto reemplazando el archivo original con otro archivo del mismo nombre. He demostrado lo mismo a continuación.
Eliminar un enlace suave en Linux
La forma más fácil de eliminar un enlace suave es usando el 'rm'
comando seguido del nombre del enlace.
rm <LINK_NAME>
Hay otra forma de eliminar enlaces en Linux. Se hace mediante 'unlink'
comando.
unlink <LINK_NAME>
Enlace suave de un enlace suave
Usando el 'ln'
comando, vamos a crear un enlace suave a nuestro enlace suave creado previamente.
ln -s <LINK_NAME> <NEW_LINK_NAME>
Está bastante claro que estos eslabones forman una cadena. Un cambio en cualquiera de los enlaces se reflejará en cada uno de los archivos.
Dado que los enlaces continuos forman una cadena, eliminar cualquiera de los enlaces intermedios romperá los enlaces secundarios. Por ejemplo, si eliminamos el primer enlace suave 'program'
, el enlace secundario se romperá.
Cuando rompemos el eslabón en el medio, la cadena completa se rompe.
Conclusión
Los enlaces blandos son una característica común de Linux que vincula bibliotecas y archivos en los sistemas de archivos de Linux. Este artículo cubre la creación, las propiedades y la eliminación de enlaces blandos en Linux.
Esperamos que el artículo haya sido fácil de entender para usted. Siéntase libre de comentar a continuación para consultas o sugerencias.