Bg1

Comprender las diferencias entre enlaces blandos y duros en Linux

En su sistema Linux en funcionamiento, supongamos que tiene un archivo anidado en varias capas de directorios. Para acceder fácilmente a ese archivo, desea crear un acceso directo para ese archivo en su escritorio. Es posible usar un enlace simbólico (también conocido como enlace suave). También hay otra forma de enlace conocida como enlace duro. En este artículo, explicaremos las diferencias entre los enlaces blandos y duros y veremos cuál debe usar.

Enlaces blandos vs. duros

Un enlace suave, o enlace simbólico, es solo un enlace simbólico. Es simplemente un puntero a la ruta del archivo de destino. A un enlace suave no le importa si el archivo o la carpeta en la ruta del archivo realmente existe. Si el archivo o la carpeta no existe, solo resultará en un enlace simbólico roto. Puede editar o eliminar el enlace simbólico, y no afectará el archivo de destino.

Por otro lado, un vínculo fijo tiene el efecto de dar al archivo de destino un nombre adicional. Cuando edita el contenido de un archivo, también modificará el contenido del otro archivo. En resumen, un enlace suave es solo una referencia a la ruta del archivo de destino, mientras que un enlace duro es un enlace directo a los datos del archivo de destino.

A continuación, ilustraremos cómo funcionan los enlaces blandos y duros.

Enlaces blandos en acción

Digamos que tenemos un archivo llamado “first_file.txt” que tiene cuatro líneas de texto dentro.

Vínculo de vista de archivo

Crearemos un enlace suave en nuestro directorio de inicio.

ln -s first_file.txt ~/sl-firstfile.txt

En el entorno de escritorio GNOME, se puede crear un enlace suave para un archivo simplemente haciendo clic con el botón derecho en el archivo y seleccionando «Crear enlace». Se crea un enlace suave donde el nombre es similar a «Enlace a .txt».

Link Sl Guicreate

Si intentamos ver el contenido de «sl-firstfile.txt», podemos ver que es lo mismo que «first_file.txt».

Enlace Sl Ver

Si echamos un vistazo a estos dos archivos en el Administrador de archivos, el enlace suave aparece como un acceso directo al archivo original. La flecha negra en el icono del archivo indica esto.

Enlace primero

Cuando intentamos ver la lista del directorio actual usando el comando ls -l, puede ver dónde apunta el enlace suave al archivo de destino. El primer carácter en la cadena de permiso para «sl-firstfile.txt» es «l», lo que significa que esta entrada es para un enlace.

Enlace Slsegundo

Comportamiento de eliminación de enlaces blandos

Cuando se elimine el archivo de destino, el enlace suave seguirá existiendo.

Enlace Sl Delorig

Sin embargo, se ha convertido en un enlace «colgante» o «roto» y es inútil.

Enlace Delview

Ahora, si crea otro archivo con el mismo nombre, «first_file.txt», el enlace suave volverá a estar activo.

Nota: en caso de que encuentre enlaces blandos y desee encontrar la ruta absoluta del archivo para el que se creó el enlace, simplemente use el readlink comando como se muestra a continuación.

Enlace Leer enlace

La salida de este comando será la ruta absoluta del archivo original.

Enlaces duros en acción

Ahora crearemos un enlace duro para el mismo archivo en nuestro directorio de inicio. Esto se puede hacer con el siguiente comando:

ln first_file.txt hl-first-file.txt

Nota: los métodos para crear el enlace blando y duro usan el ln dominio. La única diferencia es el -s bandera que denota un enlace simbólico.

Otra forma de crear un enlace duro es usando el link dominio.

link hl-firstfile.txt hl2-firstfile.txt

Una comprobación de ambos archivos muestra que su contenido es el mismo.

Enlace Primera vista

Enlace Hl Segunda vista

En la GUI, ambos archivos aparecen como entidades distintas. No hay indicios sobre la existencia de un enlace duro.

Enlace Hlview

Intentemos agregar una nueva línea al archivo de enlace duro «hl-firstfile.txt».

echo "hello" >> hl-first-file.txt

El cambio en los datos se puede ver en ambos archivos.

Enlace Enlace Hlappview2

Enlace Hl Appview1

Cuando se crea un vínculo fijo, es como si existieran dos archivos diferentes, pero sus datos están vinculados. Un cambio en uno se refleja en el otro.

Consejo rapido: al crear enlaces suaves y enlaces duros, sería una buena idea usar la misma extensión que el archivo para el que se está creando el enlace.

Comportamiento de eliminación de enlaces duros

Para enlaces duros, la eliminación del archivo original o del enlace duro no es motivo de preocupación. Los datos que se almacenaron inicialmente en el archivo aún son accesibles a través del enlace físico.

Enlace Hl Supr

Enlace Hl Delview

¿Cuándo serían útiles los enlaces blandos?

Notamos que los enlaces blandos aparecen como accesos directos para un archivo. Cuando tenemos un archivo dentro de varias capas de directorios y deseamos almacenarlo en una ubicación de fácil acceso, una buena opción sería simplemente crear un enlace corto para él.

¿Cuándo serían útiles los enlaces duros?

Hemos visto que una vez que se ha creado un vínculo físico para un archivo, cualquier cambio en el archivo o el vínculo físico se refleja en ambos.

Digamos que tiene un servidor de respaldo. Se utiliza un mecanismo de copia de seguridad incremental en el que solo se reflejan los cambios en los archivos/carpetas desde la última copia de seguridad. Puede crear un enlace duro entre un archivo en el servidor y la copia correspondiente en la computadora. Cuando se realiza la copia de seguridad, los cambios en el archivo de la computadora se reflejarán automáticamente en el archivo vinculado fijo correspondiente en el servidor, incluso si los archivos experimentan un cambio de nombre.

Conclusión

Tanto los enlaces suaves como los duros tienen sus propios usos y deben usarse en diferentes situaciones. Comprender sus diferencias te permitirá tomar mejores decisiones a la hora de crear enlaces. También se pueden crear enlaces suaves y enlaces duros para directorios. Si bien los enlaces suaves se pueden crear en todos los sistemas de archivos, los enlaces duros solo se pueden crear dentro del mismo sistema de archivos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas