En su sistema Linux en funcionamiento, digamos 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 utilizar un enlace simbólico (también conocido como enlace suave). También existe otra forma de enlace conocida como enlace duro. En este artículo explicaremos las diferencias entre enlaces duros y blandos y veremos cuál debería usar.
Contenidos
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 flexible no le importa si el archivo o carpeta en la ruta de archivo realmente existe. Si el archivo o carpeta no existe, solo resultará en un enlace simbólico roto. Puede editar o eliminar el enlace simbólico, y no afectará al archivo de destino.
Por otro lado, un vínculo físico tiene el efecto de darle 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 flexible es solo una referencia a la ruta del archivo de destino, mientras que un enlace físico es un enlace directo a los datos del archivo de destino.
A continuación, ilustraremos cómo funcionan los enlaces duros y blandos.
Enlaces blandos en acción
Digamos que tenemos un archivo llamado “first_file.txt” que tiene cuatro líneas de texto dentro.
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 flexible para un archivo simplemente haciendo clic derecho en el archivo y seleccionando “Crear enlace”. Se crea un enlace suave donde el nombre es similar a “Enlace a
Si intentamos ver el contenido de “sl-firstfile.txt”, podemos ver que es lo mismo que “first_file.txt”.
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.
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.
Comportamiento de eliminación de enlaces suaves
Cuando se elimina el archivo de destino, el enlace flexible seguirá estando disponible.
Sin embargo, se ha convertido en un enlace “colgante” o “roto” y es inútil.
Ahora, si crea otro archivo con el mismo nombre, “first_file.txt”, el enlace flexible se activará nuevamente.
Nota: en caso de que encuentre enlaces suaves y desee encontrar la ruta absoluta del archivo para el que se ha creado el enlace, simplemente utilice el readlink
comando como se muestra a continuación.
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 suave y duro utilizan el ln
mando. La única diferencia es la -s
bandera que denota un enlace simbólico.
Otra forma de crear un vínculo físico es utilizando el link
mando.
link hl-firstfile.txt hl2-firstfile.txt
Una verificación de ambos archivos muestra que su contenido es el mismo.
En la GUI, ambos archivos aparecen como entidades distintas. No hay indicios de la existencia de un vínculo físico.
Intentemos agregar una nueva línea al archivo de vínculo físico “hl-firstfile.txt”.
echo "hello" >> hl-first-file.txt
El cambio en los datos se puede ver en ambos archivos.
Cuando se crea un vínculo físico, 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 flexibles y enlaces físicos, sería una buena idea utilizar la misma extensión que el archivo para el que se está creando el enlace.
Comportamiento de eliminación de enlaces físicos
Para los enlaces físicos, la eliminación del archivo original o del enlace físico 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.
¿Cuándo serían útiles los enlaces blandos?
Notamos que los enlaces suaves aparecen como accesos directos a 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 físicos?
Hemos visto que una vez que se ha creado un vínculo físico para un archivo, cualquier cambio en el archivo o en el vínculo físico se refleja en ambos.
Digamos que tiene un servidor de respaldo. Se está utilizando 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 vínculo físico 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 sufren un cambio de nombre.
Conclusión
Tanto los enlaces blandos como los físicos tienen sus propios usos y deben utilizarse en diferentes situaciones. Comprender sus diferencias le permite tomar mejores decisiones al crear enlaces. También se pueden crear enlaces flexibles y enlaces físicos para directorios. Si bien los enlaces suaves se pueden crear en los sistemas de archivos, los enlaces físicos solo se pueden crear dentro del mismo sistema de archivos.
¿Es útil este artículo?
¡Ayúdanos a difundirlo!