Enlace suave (simbólico) vs enlace duro

Soft Link Vs Hard Link



Los enlaces simbólicos (también llamados enlaces blandos) y enlaces duros son un recurso para acceder a archivos o directorios desde cualquier ubicación. Este artículo describirá las diferencias entre enlaces simbólicos y enlaces físicos.

Enlaces duros

Los enlaces físicos no son un archivo que contiene la ruta al archivo original, sino copias espejo del archivo original al que apuntan. Un archivo y sus vínculos físicos no están asociados por el nombre o la ruta, sino por el inodo que almacena información sobre el archivo, como su ubicación, fecha de creación, permisos y otros atributos. Cada número de inodo es único dentro de un sistema de archivos, lo que evita que los enlaces físicos funcionen entre diferentes particiones o sistemas. Los enlaces duros no se pueden utilizar para enlazar directorios.







A diferencia de los enlaces blandos, los enlaces duros contienen la información a la que enlazan, por lo que si se elimina el archivo original, aún puede acceder a sus datos.



En todos los sistemas Linux, tanto los enlaces físicos como los simbólicos se crean con el comando en . Para comenzar, primero cree un archivo llamado LinuxHintFile y un directorio llamado LinuxHintDirectory como se muestra en la siguiente imagen:



tocarLinuxHintFile
rmkdir LinuxHintDirectory
ls
raíz@Linux Sugerencia:/hogar/linuxhint#





Para crear un enlace físico llamado Link2LHFile al archivo LinuxHintFile, ejecute en la terminal:

enLinuxHintFile Link2LHFile



Después de consultar con ls vemos el enlace duro que acabamos de crear, si escribe ls -i verá los inodos de los archivos, puede confirmar que el enlace que acabamos de crear tiene el mismo número de inodo que el archivo original, escriba:

ls -I

Como dijimos anteriormente, no podemos usar enlaces físicos para directorios ni enlaces a otros volúmenes o sistemas de archivos, vincularemos LinuxHintDirectory con un enlace flexible.

Puede encontrar enlaces físicos dentro del directorio de trabajo ejecutando:

encontrar -escribeF-Enlaces+1

También puede encontrar archivos por inodos, para esta ejecución:

encontrar.-inum <InodeNumber>

Como puede ver, encontró tanto el archivo original como el enlace físico que comparten el mismo número de inodo.

Enlaces blandos

A diferencia de los enlaces duros, los enlaces blandos no son copias del archivo original, contienen la ruta al archivo original, por lo que si se elimina el archivo original, el enlace blando o el enlace simbólico señalarán que ningún archivo se convertirá en un enlace roto. o un enlace huérfano, lo que significa que si pierde el archivo de origen, si lo elimina o lo mueve, el enlace simbólico perderá el acceso a la información, mientras que con el enlace duro la información permanece a pesar de la eliminación del archivo de origen porque es un completo y exacto copia de ese archivo.

Además, a diferencia de los enlaces físicos, los enlaces simbólicos no comparten el mismo inodo con el archivo original, por eso el enlace simbólico puede cruzar volúmenes y sistemas de archivos, mientras que los enlaces físicos no. Los enlaces simbólicos se pueden utilizar para enlazar directorios con enlaces físicos que no es posible.

También se crean enlaces simbólicos con el programa. en , pero para que el enlace sea simbólico / suave, necesitamos especificar el parámetro -s , para crear un enlace simbólico al directorio LinuxHintDirectory llamado LHDLink ejecute:

en -sLinuxHintDirectory LHDLink

Y luego ejecuta ' ls -y ’Para comprobar que se creó correctamente:

Como vemos en este caso, se creó el enlace simbólico, pero tiene un número de inodo diferente al del archivo original.

Podemos listar enlaces simbólicos dentro de un directorio con el comando ls -l

En la imagen de arriba podemos ver en los permisos del primer archivo el prefijo los para enlaces simbólicos, el final de la línea también muestra a qué archivo apunta el enlace simbólico.

Espero que este artículo le haya resultado útil para comprender las diferencias entre enlaces físicos y enlaces simbólicos y cómo crearlos. Siga siguiendo LinuxHint para obtener más consejos y actualizaciones sobre Linux.