Frage

Ich habe nach einer Möglichkeit, harte Links unter Windows zu erstellen, und ich fand diese Seite: http://technet.microsoft.com/en-us/library/cc788097.aspx

, um es auszuprobieren, habe ich eine Datei (1.txt) an der Wurzel meines Laufwerk C: mit 100 Zeilen folgenden Inhalts:

C: \ 1.txt (2.598 Bytes):

test test test test test

Dann öffne ich die Eingabeaufforderung, und tippte:

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

Erfolg, 2.txt erstellt wurde, aber wenn ich gehe, um zu sehen, es ist Größe es genau 2.598 Bytes hat und bemerkt auch einige seltsame Verhalten (soweit mein Verständnis der harten Links geht):

  1. Wenn ich löschen 2.txt (die harte verknüpfte Datei) 1.txt nicht gelöscht wird, und umgekehrt.
  2. Wenn ich öffne 2.txt nachdem ich lösche 1.txt (die ursprüngliche Datei) der Inhalt immer noch das gleiche ist.

Wie funktioniert das fsutil Hardlink-Befehl erstellen unterscheidet sich von dem Kopierbefehl? Und wie kann ich eine echte Hardlink unter Windows erstellen?

Ich verwende Windows XP SP 3, und mein Dateisystem NTFS.

War es hilfreich?

Lösung

Das ist genau das Verhalten, das geschehen sollte. Sind Sie sicher, dass Sie verstehen, wie schwer Links funktionieren? Hard-Links sind wirklich nur mehrere Einträge in dem Dateisystem, das auf die exakt gleiche Datei verweisen. Wenn Sie eine harte Verknüpfung zu einer Datei erstellen und eine der Instanzen der Datei ändern, die andere Datei mit Ihren Änderungen angezeigt werden, weil sie beide auf die gleichen Datenblocks auf der Festplatte beziehen.

Wenn Sie eine der harten Links löschen, sind Sie wirklich zu löschen nur eine der Dateisystemeinträge auf diese Datei verweisen. Die Datei erhält nicht gelöscht, bis Sie löschen alle von seinen harten Links (einschließlich dem Original). Nachdem Sie 1.txt löschen, existiert 2.txt noch und bezieht sich auf die gleiche Datei, die ursprünglich dort war, nur jetzt gibt es nur einen einzigen Eintrag Dateisystem auf diese Datei bezieht (nämlich 2.txt). 2.txt ist diese Datei.

Andere Tipps

  

Wie funktioniert die fsutil Hardlink erstellen   Befehl unterscheidet sich von dem Kopierbefehl?   Und wie kann ich eine echte harte Verknüpfung erstellen   unter Windows?

Nach der hardlinked-Datei zu erstellen, versuchen Sie entweder bearbeiten. Sie werden entdecken, dass die Änderungen in beiden Dateien wiedergegeben werden.

Versuchen Sie, eine Festverbindung von einer sehr großen Datei (zB ein Video oder Disk-Image) zu schaffen. Beachten Sie, dass der verfügbare Speicherplatz auf der Festplatte nicht geändert hat (oder auch nicht geändert, indem mehr als ein paar Bytes, wenn zusätzliche Metadaten auf der Festplatte geschrieben werden mußten, um den neuen Eintrag dir zu reflektieren).

Das ist ein echter Hardlink. In UNIX (bin ich mit der Windows-Variante nicht bekannt) eine Datei nur eine Reihe von Daten auf der Platte ist (vereinfachend). Es ist der Verzeichniseintrag selbst, daß diese Datei einen Namen gibt.

Wenn Sie zwei Verzeichniseinträge auf der gleichen zugrunde liegenden Datei verweist, das Löschen einer von ihnen ist nicht , um die Datei zu löschen, es sei denn es ist das letzte Verzeichniseintrag ist mit ihm verbunden (und die Datei nicht noch geöffnet von ein Prozess, aber das ist eine andere Sache).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top