Komfortabler Dateimanager mit vielen Funktionen

Kopieren von Hardlinks

By Sven on 26.09.2011 - 16:00 in SpeedCommander 14

Mit einem Hardlink kann man ein und dieselbe Datei unter verschiedenen Ordnern auf einem Datenträger speichern, ohne dabei Sorgen um den belegten Speicherplatz haben zu müssen. Der Platz auf dem Datenträger wird nur einmal allokiert, alle weiteren Verweise benötigen keinen weiteren Platz mehr. Auch das Windows-Verzeichnis von Windows 7 nutzt Hardlinks und spart damit mehrere Gigabyte Plattenspeicher.

Kopiert man einen solchen Ordner an einen anderen Ort, dann verschwindet dieser Vorteil wieder. In der Regel ist es der Kopierfunktion nämlich egal, ob die zu kopierende Datei eine normale Datei oder ein Hardlink ist. Am Zielort wird immer eine Kopie der Datei erstellt und in dieser der vollständige Dateiinhalt abgelegt.

Mit der verbesserten Unterstützung für Abzweigungen, Hardlinks und symbolischen Links habe ich deshalb auch die Kopierfunktion angepasst. Erkennt SpeedCommander beim Kopieren einen Hardlink zu einer bereits kopierten Datei, dann wird im Zielordner auch wieder ein Hardlink zum Zielnamen der bereits kopierten Datei erstellt. Das ganze funktioniert natürlich nur, wenn das Dateisystem des Zieldatenträgers Hardlinks unterstützt. Andernfalls wird wie bisher eine Kopie des Dateiinhalts erstellt.

Es gibt 2 Kommentare zu diesem Beitrag

Trackback URL | RSS-Feed für Kommentare

  1. Philipp sagt:

    Du schreibst “Das ganze funktioniert natürlich nur, wenn das Dateisystem des Zieldatenträgers Hardlinks unterstützt”. Wenn mich meine Kenntnisse nicht täuschen, funktionieren Hardlinks nur auf dem gleichen Laufwerk. Quell- und Zieldatenträger müssen also identisch sein – und wenn es auf dem Quelldatenträger einen Hardlink gibt, muss der Zieldatenträger auch Hardlinks unterstützen 😉 Ansonsten kann das bei laufwerksübergreifenden Aktionen zu verdammt unerwünschten Nebeneffekten führen.

  2. Sven sagt:

    Nein, die Laufwerke müssen nicht identisch sein. Der Hardlink wird ja nicht zur Quelldatei angelegt sondern zur bereits kopierten Zieldatei.

Top