Wie man die tatsächliche Anzahl der Bytes erkennt, die freigegeben werden, wenn ich ein Verzeichnis mit ungesättigten Hardlinks lösche

347
liamZ

Ich muss den tatsächlichen Speicherplatz kennen, den ein Verzeichnis in Windows verwendet. Mit echtem Speicherplatz meine ich die Anzahl der Bytes, die freigegeben werden, wenn ich das Verzeichnis mit dem Windows-Explorer entferne.

Mit anderen Worten:

  • Verzeichnisverbindungen können nicht gezählt werden
  • Dateien außerhalb des Verzeichnisses ( ungesättigte Links ) können nicht gezählt werden
  • Dateien, die innerhalb des Verzeichnisses fest verlinkt sind ( gesättigte Links ), jedoch nicht außerhalb, müssen nur einmal gezählt werden

Dies unterscheidet sich von dieser Frage, da es zwei verschiedene Arten von Hardlinks in einem Verzeichnis gibt: Dateien, die mit einer Datei außerhalb des Verzeichnisses (oder der Unterverzeichnisse) (auch ungesättigte Hardlinks) verbunden sind, und Dateien, die mit Dateien innerhalb des Verzeichnisses (oder der Unterverzeichnisse), die als gesättigt bezeichnet werden, hart verknüpft sind Hardlinks. Tools wie du.exe oder ctts.exe zählen nur eine Instanz von gesättigten Hardlinks und jede Instanz von ungesättigten Hardlinks.

Wenn ich das Verzeichnis jedoch entferne, befinden sich alle ungesättigten Hardlinks immer noch in der Partition und geben keinen Speicherplatz frei. Aus diesem Grund werden ungesättigte Hardlinks nicht gezählt, um den tatsächlichen Speicherplatz zu kennen, den das Verzeichnis verwendet.

2

0 Antworten auf die Frage