Recomendado, 2024

La Elección Del Editor

Diferencia entre enlace duro y enlace blando

Los enlaces en Unix son esencialmente los punteros que se asocian a los archivos y directorios. La principal diferencia entre un enlace fijo y un enlace flexible es que el vínculo físico es la referencia directa al archivo, mientras que el enlace flexible es la referencia por su nombre, lo que significa que apunta a un archivo por su nombre.

El enlace fijo vincula los archivos y directorios en el mismo sistema de archivos, pero el enlace suave puede atravesar los límites del sistema de archivos.

Antes de comprender los enlaces, primero debemos entender inodo, un inodo es una estructura de datos que consta de metadatos sobre el archivo, como la fecha de creación del archivo, las autorizaciones del archivo, el propietario del archivo y más.

Gráfica comparativa

Bases para la comparaciónEnlace duro
Enlace suave
BASICSe puede acceder a un archivo a través de muchos nombres diferentes conocidos como enlaces duros.Se puede acceder a un archivo a través de diferentes referencias que apuntan a que el archivo se conoce como un enlace flexible.
Validación de enlaces, cuando se borra el archivo original.Aún válido y se puede acceder al archivo.
Inválido
Comando utilizado para la creaciónen
ln -s
número de inodoMismo
Diferente
Puede ser vinculadoA su propia partición.A cualquier otro sistema de archivos incluso en red.
Consumo de memoriaMenosMás
Camino relativoNo aplicaPermitido

Definición de enlace duro

Los enlaces físicos vinculan directamente dos archivos en el mismo sistema de archivos y, para su identificación, utiliza el número de inodo del archivo. Los enlaces físicos no se pueden implementar en directorios (ya que apuntan a inodo). Cuando se utiliza el comando " ln " para generar un enlace fijo, crea otro archivo en la línea de comandos que se puede usar para referirse al archivo original. Tanto el archivo original como el generado tienen el mismo inodo y contenido; Por lo tanto, tendrán los mismos permisos y el mismo propietario.

La eliminación del archivo original no influye en el archivo enlazado, y se mantendrá un archivo enlazado. El inodo tiene un contador, para calcular el número de enlaces duros a sí mismo. Cuando el contador indica un valor de 0, el inodo se vacía. Siempre que realice cambios en el enlace fijo, se imitará en el archivo original.

Definición de enlace blando

Los enlaces blandos suelen ser una ruta alternativa (o un alias) para el archivo original; estos también se conocen como enlaces simbólicos . Incluye el nombre del "archivo de destino" del enlace, marca que especifica que es un enlace flexible. Cuando se accede a un archivo, el enlace flexible lo redirige al archivo de destino a través de la ruta escrita en el asunto del enlace flexible.

Estos son muy útiles en el caso del sistema operativo Windows, donde el enlace blando se comporta como atajos. La creación y eliminación de los enlaces flexibles no afectan al archivo original. Si se elimina el archivo de destino, el enlace flexible cuelga, lo que significa que no apunta a ninguna parte y genera un mensaje de error cuando se accede al archivo de destino. Los enlaces blandos no usan número de inodo, a diferencia del enlace duro. Una ruta absoluta o relativa podría ser una parte de los enlaces simbólicos.

Diferencias clave entre el enlace duro y el enlace blando

  1. Un enlace físico es un nombre adicional del archivo original que hace referencia a inode para acceder al archivo de destino. En contraste, el enlace flexible es distinto del archivo original y es un alias del archivo original pero no usa inode.
  2. Cuando un archivo original se elimina, el enlace flexible se invalida, mientras que un enlace físico es válido incluso si se elimina el archivo de destino.
  3. En Linux, el comando utilizado para la creación de enlace duro es " ln ". En contra, el comando utilizado para un enlace flexible es " ln -s ".
  4. El enlace físico tiene el mismo número de inodo diferente al enlace flexible, donde el archivo de destino y su enlace flexible tienen un número de inodo distinto.
  5. Los enlaces físicos están restringidos a sus propias particiones, pero los enlaces flexibles pueden cubrir diferentes sistemas de archivos.
  6. El rendimiento del enlace duro es mejor que el enlace flexible en algunos casos.
  7. La ruta relativa y la ruta absoluta están permitidas en los enlaces blandos. Por el contrario, la ruta relativa no está permitida en un enlace duro.

Conclusión

Un enlace fijo no requiere espacio adicional y la malla se resuelve más rápido, pero los cambios aplicados a un enlace duro se reflejan en el archivo original. Por otro lado, el enlace flexible necesita espacio adicional, pero cualquier cambio en el enlace flexible no afecta al archivo original. Los enlaces blandos están permitidos a directorios a diferencia del enlace Duro.

Top