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 el enlace simbólico (también conocido como enlace suave). También hay otra forma de enlace llamada enlace duro. En este artículo explicaremos las diferencias entre los enlaces blandos y duros y veremos cuáles debe usar.

Enlaces blandos versus 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. Un enlace suave no le importa si el archivo o carpeta en la página del archivo realmente existe. Si el archivo o carpeta no existe, solo dará lugar a un enlace simbólico roto. Puede editar o eliminar el enlace simbólico, y no afecta el archivo de destino.

Por otro lado, un enlace duro crea una copia del archivo de destino y vincula los datos entre los dos archivos. Editar el contenido de un archivo también cambia el contenido del otro archivo.

  

A continuación, ilustramos 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.

Creamos 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 haciendo clic derecho en el archivo y seleccionando "Crear enlace". Se crea un enlace suave donde el nombre es similar a "Enlace a .Texto".

Link Sl Guicreate

Si tratamos de ver el contenido de "sl-firstfile.txt", podemos ver que es lo mismo que "first_file.txt".

Link Sl view

Si miramos 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.

Link Slfirst

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

Link Slsecond

Eliminación de enlaces blandos

Cuando se elimina el archivo de destino, el enlace flexible seguir√° existiendo.

Link Sl Delorig

Pero se ha convertido en un enlace "colgante" o "roto" y es in√ļtil.

Ver enlace

Si crea otro archivo con el mismo nombre "first_file.txt", el enlace suave volver√° a estar activo.

Note: Si se encuentra con enlaces blandos y desea encontrar la ruta absoluta del archivo para el que se creó el enlace, simplemente use el comando de enlace que se muestra a continuación.

Enlace Leer enlace

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

Enlaces duros en acción

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

En first_file.txt hl-first-file.txt

Note: los m√©todos para crear un enlace suave y duro usan ambos comandos ln. La √ļnica diferencia es la bandera -s que indica un enlace simb√≥lico.

Otra forma de crear un enlace duro es usar el comando de enlace.

enlace hl-firstfile.txt hl2-firstfile.txt

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

Enlace Firstview
Link Hl Secondview

En la GUI, ambos archivos se muestran como entidades distintas. No hay indicios de que haya un enlace duro.

Link Hlview

Intentemos agregar una nueva línea al "hl-firstfile.txt".

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

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

Enlace enlace Hlappview2
Link Hl Appview1

Cuando se crea un enlace duro, es como si hubiera dos archivos diferentes, pero sus datos est√°n vinculados. Un cambio en uno se refleja en el otro.

Consejos rápida: Al crear enlaces blandos y enlaces duros, sería una buena idea usar las mismas extensiones que el archivo para el que se creó el enlace.

Eliminación de enlaces duros

Para enlaces duros, no es preocupante eliminar el archivo original o el enlace duro. Los datos almacenados originalmente en el archivo todavía están disponibles a través del enlace físico.

Link Hl Del
Link Hl Delview

¬ŅCu√°ndo ser√≠an √ļtiles los enlaces blandos?

Notamos que los enlaces suaves aparecen como accesos directos a un archivo. Cuando tenemos un archivo en varias capas en directorios y queremos almacenarlo en un lugar para facilitar el acceso, una buena alternativa sería crear un enlace corto para él.

¬ŅCu√°ndo ser√≠an √ļtiles los enlaces duros?

Hemos visto que cuando se crea un enlace duro para un archivo, todos los cambios en el archivo o enlace duro se reflejan en ambos.

Digamos que tiene un servidor de respaldo. Se utiliza un mecanismo de copia de seguridad incremental donde solo se reflejan los cambios en los archivos / carpetas desde la √ļltima copia de seguridad. Puede crear un enlace r√≠gido 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 en la computadora se reflejar√°n autom√°ticamente en el archivo vinculado en el servidor correspondiente, incluso si los archivos cambian de nombre.

conclusión

Los enlaces blandos y duros tienen su propio uso y deben usarse en diferentes situaciones. Comprender sus diferencias le permite tomar mejores decisiones al crear enlaces. También se pueden crear enlaces blandos y enlaces duros para directorios. Si bien los enlaces blandos se pueden crear en los sistemas de archivos, los enlaces duros solo se pueden crear dentro del mismo sistema de archivos.

¬ŅEs √ļtil este art√≠culo?