Question

Je cherchais un moyen de créer des liens durs sous Windows et je trouve cette page: http://technet.microsoft.com/en-us/library/cc788097.aspx

Pour l'essayer, j'ai créé un fichier (1.txt) à la racine de mon lecteur C: avec 100 lignes du contenu suivant:

C: \ 1.txt (2.598 bytes):

test test test test test

Alors j'ouvre l'invite de commande et dactylographié:

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

Le succès, 2.txt a été créé, mais quand je vais voir sa taille, il a exactement 2,598 octets et aussi remarqué des comportements étranges (aussi loin que ma compréhension des liens durs va):

  1. Si je supprime 2.txt (le fichier lié dur) 1.txt n'est pas supprimé, et vice-versa.
  2. Si j'ouvre 2.txt après supprimer 1.txt (le fichier d'origine), le contenu est toujours le même.

Comment le fsutil hardlink commande create diffère de la commande de copie? Et comment puis-je créer un vrai lien dur sous Windows?

J'utilise SP 3 Windows XP, et mon système de fichiers est NTFS.

Était-ce utile?

La solution

C'est exactement le comportement qui doit se produire. Êtes-vous sûr de comprendre comment fonctionnent les liens dur? Les liens durs sont vraiment juste plusieurs entrées dans le système de fichiers qui se réfèrent à exactement le même fichier. Si vous créez un lien dur vers un fichier et de modifier l'une des instances du fichier, l'autre fichier sera affiché avec vos changements, car ils se réfèrent tous deux aux mêmes blocs de données sur le disque.

Lorsque vous supprimez un des liens durs, vous êtes vraiment juste de supprimer l'une des entrées du système de fichiers faisant référence à ce fichier. Le fichier ne soit pas supprimé jusqu'à ce que vous supprimez tous de ses liens durs (y compris l'original). Après avoir supprimé 1.txt, 2.txt existe encore et fait référence au même fichier qui était à l'origine là, seulement maintenant il n'y a qu'une seule entrée du système de fichiers faisant référence à ce fichier (à savoir, 2.txt). 2.txt est ce fichier.

Autres conseils

  

Comment le fsutil créer hardlink   commande diffère de la commande de copie?   Et comment puis-je créer un vrai lien dur   sous Windows?

Après avoir créé le fichier à lien fixe, essayez de la modifier soit. Vous découvrirez que les changements se reflètent dans les deux fichiers.

Essayez de créer un lien physique d'un fichier très volumineux (par exemple une vidéo ou d'un disque image). Notez que l'espace disponible sur le disque n'a pas changé (ou pas changé par plus de quelques octets, si des métadonnées supplémentaires devaient être écrites sur le disque afin de refléter la nouvelle entrée de répertoire).

C'est un vrai lien dur. Dans UNIX (je ne suis pas familier avec la variante Windows) un fichier est juste un ensemble de données sur le disque (simplistes). Il est l'entrée du répertoire lui-même qui donne ce fichier un nom.

Lorsque vous avez deux entrées de répertoire pointant dans le même fichier sous-jacent, la suppression d'un d'entre eux ne pas supprimer le fichier, sauf si c'est la dernière entrée du répertoire attaché à (et le fichier n'est pas encore ouvert par un processus, mais c'est une autre affaire).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top