Pregunta

Yo estaba buscando una manera de crear enlaces duros en Windows y encontré esta página: http://technet.microsoft.com/en-us/library/cc788097.aspx

Para probarlo, he creado un archivo (1.txt) en la raíz de mi unidad C: con 100 líneas de la siguiente contenido:

C: \ 1.txt (2.598 bytes):

test test test test test

A continuación, abro el símbolo del sistema y escribí:

fsutil hardlink create C:\2.txt C:\1.txt

Éxito, 2.txt fue creado, pero cuando voy a ver que es el tamaño que tiene exactamente 2.598 bytes y también di cuenta de algunos comportamientos extraños (por lo que mi comprensión de los enlaces duros va):

  1. Si elimino 2.txt (el archivo vinculado duro) 1.txt no se elimina, y viceversa.
  2. Si abro 2.txt después borro 1.txt (el archivo original) el contenido sigue siendo el mismo.

¿Cómo funciona el fsutil hardlink mandato de creación difiere del comando de copia? Y cómo puedo crear un verdadero enlace duro en Windows?

Estoy utilizando Windows XP SP 3, y mi sistema de archivos es NTFS.

¿Fue útil?

Solución

Eso es exactamente el comportamiento que debe suceder. ¿Estás seguro de que entiende lo difícil que trabajan enlaces? Los enlaces duros son en realidad varias entradas en el sistema de archivos que hacen referencia al mismo archivo exacto. Si crea un vínculo físico a un archivo y modificar una de las instancias del archivo, el otro archivo se mostrará con los cambios, ya que ambos se refieren a los mismos bloques de datos en el disco.

Cuando se elimina uno de los enlaces duros, que estás realmente sólo la eliminación de una de las entradas del sistema de archivos que se refieren a ese archivo. El archivo no se borran hasta que elimine todos de sus enlaces duros (incluyendo el original). Después de eliminar 1.txt, 2.txt todavía existe y se refiere al mismo archivo que estaba originalmente allí, sólo que ahora hay sólo una única entrada del sistema de archivos en referencia a ese archivo (es decir, 2.txt). 2.txt es ese archivo.

Otros consejos

  

¿Cómo funciona el fsutil hardlink crear   comando difiere del comando de copia?   Y cómo puedo crear un verdadero vínculo físico   bajo Windows?

Después de crear el archivo hardlinked, intentar editar tampoco. Usted descubrirá que los cambios se reflejan en ambos archivos.

Trate de crear un vínculo físico de un archivo muy grande (por ejemplo un vídeo o una imagen de disco). Observe que el espacio disponible en el disco no ha cambiado (o no cambiado en más de unos pocos bytes, si metadatos adicionales tuvo que ser escrito en el disco para reflejar la nueva entrada del directorio).

Esto es un verdadero enlace duro. En UNIX (no estoy familiarizado con la variante de Windows) es un archivo de sólo un conjunto de datos en el disco (simplista). Es la entrada de directorio en sí que da ese archivo un nombre.

Cuando se tienen dos entradas de directorio que apuntan al mismo archivo subyacente, eliminar uno de ellos no no eliminar el archivo a menos que sea la última entrada de directorio que se le atribuye (y el archivo no está todavía abierto por un proceso, pero eso es otra cuestión).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top