it-swarm-es.com

¿Cuál es la diferencia entre un enlace suave (simbólico) y un enlace duro?

Escuché que ahora puedes crear enlaces suaves en Vista también . Entonces, ¿cuál es la diferencia entre un enlace suave (simbólico) y un enlace duro en UNIX/Linux/Vista?

¿Hay ventajas de usar uno sobre el otro? ¿O simplemente sirven para dos propósitos distintos?

59
Aaron K

Un enlace duro comparte tradicionalmente las mismas estructuras del sistema de archivos (inodo en unixspeak), mientras que un enlace suave es una redirección de nombre de ruta.

  • Los enlaces duros deben estar en el mismo sistema de archivos, los enlaces suaves pueden cruzar sistemas de archivos.
  • Los archivos vinculados permanecen vinculados incluso si mueve cualquiera de ellos (a menos que mueva uno a otro sistema de archivos que active el mecanismo de copiar y eliminar). Los archivos vinculados por software se rompen si mueve el destino (original) y, a veces, cuando mueve el enlace (¿Utilizó una ruta absoluta o relativa? ¿Sigue siendo válida?).
  • Los archivos enlazados son iguales, mientras que el original es especial en enlaces suaves, y al borrar el original se borran los datos. Los datos no desaparecen hasta que se eliminen todos los enlaces duros.
  • Los enlaces suaves pueden apuntar a cualquier objetivo , pero la mayoría de los sistemas operativos/sistemas de archivos no permiten directorios de enlace fijo para evitar ciclos en el gráfico del sistema de archivos (con la excepción de . y .. entradas en directorios unix que son enlaces duros).
  • Los enlaces suaves pueden requerir un soporte especial de las herramientas para caminar del sistema de archivos. Leer sobre readlink (2) .

(Algunos detalles son traídos a la mente por mat1t . Gracias.)

El resumen es que un enlace simbólico/corto actúa como un acceso directo a la ubicación del primer archivo, mientras que un enlace duro es un acceso directo al archivo en el disco.

Si elimina el destino de un enlace suave, el enlace suave dejará de funcionar, pero si elimina una copia de un enlace duro, el archivo permanecerá en el disco hasta que se eliminen todos los enlaces duros. En efecto, todos los nombres de archivos son enlaces duros al archivo en el disco.

También hay ciertas restricciones, por ejemplo, no creo que pueda crear enlaces duros de carpetas, pero puede crear enlaces blandos de ellos. Los enlaces suaves también pueden apuntar a archivos/carpetas en diferentes unidades y particiones, mientras que los enlaces duros no pueden.

10
Matthew Steeples