Enlaces duros y uniones

El sistema de archivos NTFS admite tres tipos de vínculos de archivos: enlaces duros, uniones y vínculos simbólicos. Este artículo es una introducción a los vínculos duros y las uniones. Para obtener información sobre los vínculos simbólicos, vea Crear vínculos simbólicos.

Un vínculo físico es la representación del sistema de archivos de un archivo por el que más de una ruta de acceso hace referencia a un único archivo en el mismo volumen. Para crear un vínculo físico, use la función CreateHardLinkA .

Los cambios realizados en un archivo vinculado de forma instantánea son visibles para las aplicaciones que acceden a él a través de los vínculos que hacen referencia a él. Los atributos del archivo se reflejan en todos los vínculos físicos a ese archivo y los cambios en los atributos de ese archivo se propagan a todos los vínculos duros. Sin embargo, el tamaño de entrada del directorio y la información de atributo del archivo solo se actualizan visiblemente en el vínculo a través del cual se realizó el cambio. Por ejemplo, si borra la marca de atributo de solo lectura en un vínculo duro determinado para poder eliminar ese vínculo duro y hay varios vínculos duros al archivo, los otros vínculos duros muestran que el atributo de solo lectura todavía está establecido, que no es true. Para volver a cambiar el archivo al estado de solo lectura, debe establecer la marca de solo lectura en el archivo de uno de sus vínculos duros restantes.

Por ejemplo, en un sistema donde C: y D: son unidades locales y Z: es una unidad de red asignada a \\fred\share, las siguientes referencias se permiten como un vínculo físico:

  • C:\dira\ethel.txt vinculado a C:\dirb\dirc\lucy.txt
  • D:\dir1\tinker.txt vinculado a D:\dir2\dirx\bell.txt
  • C:\diry\bob.bak vinculado a C:\dir2\mina.txt

Esto se debe a que todos los vínculos son archivos en el mismo volumen. Los vínculos duros no pueden hacer referencia a directorios, solo archivos y no pueden hacer referencia a archivos en volúmenes diferentes.

No se permiten las siguientes referencias:

  • C:\dira vinculado a C:\dirb
  • C:\dira\ethel.txt vinculado a D:\dirb\lucy.txt
  • C:\dira\ethel.txt vinculado a Z:\dirb\lucy.txt

Para eliminar un vínculo duro, use la función DeleteFileA . Puede eliminar vínculos duros en cualquier orden, independientemente del orden en que se creen.

Uniones

Una unión (también denominada vínculo flexible) difiere de un vínculo duro en que los objetos de almacenamiento a los que hace referencia son directorios independientes. Una unión también puede vincular directorios ubicados en diferentes volúmenes locales en el mismo equipo. De lo contrario, las uniones funcionan de forma idéntica a los enlaces duros. Las uniones se implementan a través de puntos de reanálisis.

Suponiendo que se cumplan las mismas condiciones en la sección Vínculos duros, se permiten las siguientes referencias como uniones:

  • C:\dira vinculado a C:\dirb\dirc
  • C:\dirx vinculado a D:\diry

No se permiten las siguientes referencias porque hacen referencia a volúmenes de red asignados o hacen referencia directamente a archivos de referencia:

  • C:\dira\one.txt vinculado a C:\dirb\two.txt
  • C:\dir1 vinculado a Z:\dir2

Consulte también