¿Cuándo debo usar enlaces duros en lugar de enlaces blandos?

10

Estoy a punto de comenzar a jugar, mklinkpero todavía estoy tratando de controlar realmente todo este asunto del "enlace simbólico". En particular, he notado que hay dos tipos de enlaces: "enlaces blandos" y "enlaces duros", pero estoy teniendo dificultades para comprender realmente la diferencia entre los dos, o por qué debería preferir uno sobre el otro para cualquier caso de uso dado.

Lo máximo que he podido obtener hasta ahora es esto:

  • Los enlaces blandos se tratan como punteros al archivo / carpeta de destino.
  • Los enlaces duros se tratan como si realmente fueran el archivo / carpeta de destino.

¿Qué significa esto realmente en términos de cómo el SO y las aplicaciones tratarán los enlaces? ¿Qué factores deben sopesarse al decidir si usar uno u otro?

El caso de uso actual que tengo es para hacer que SkyDrive sincronice archivos / carpetas que están fuera del directorio real de SkyDrive . Sin embargo, preferiría que las respuestas también pudieran incluir pautas generales para referencia futura.

Iszi
fuente

Respuestas:

6

Es posible tener enlaces suaves colgantes, ya que un enlace suave es un puntero a un archivo.

No es posible tener enlaces rígidos colgantes. Cada archivo tiene al menos un enlace duro, es decir, una entrada de directorio en el sistema de archivos. Por lo tanto, si crea un archivo, y luego un enlace rígido al mismo, y luego elimina el archivo original, el enlace rígido no se verá afectado.

Debido a esto, los enlaces duros pueden hacerte creer que cuando hayas eliminado un archivo que realmente desapareció, aunque a menos que elimines TODOS los enlaces duros, el archivo seguirá existiendo. La mayoría de las veces desea usar enlaces suaves a menos que quiera aprovechar este aspecto específico de los enlaces duros.

LawrenceC
fuente
Entonces, ¿una interpretación metafórica apropiada sería que un enlace suave es solo un atajo de archivo mientras que un enlace duro es una copia sincronizada del archivo?
Iszi
Bueno ... tenga en cuenta que un enlace duro realmente no hace una copia adicional de los datos del archivo. Es otra entrada de directorio físico. Por lo tanto, dos enlaces duros a un archivo no cambiarán mucho el espacio en disco utilizado.
LawrenceC
Si conoce los conceptos de programación, piense en un enlace suave como un puntero tradicional, y en un enlace duro como un puntero contado por referencia (inteligente).
paddy