Как я могу проверить фактический размер, используемый в каталог NTFS со многими hardlinks?

На томе NTFS Win7 я использую cwrsync, который поддерживает - ссылка-dest правильно для создания резервных копий типа "снимка". Таким образом, я имею:

z:\backups\2010-11-28\cygdrive\c\Users\...
z:\backups\2010-12-02\cygdrive\c\Users\...

Содержание от 02.12.2010 главным образом hardlinks назад в файлы в 28.11.2010 каталогах, но только в 02.12.2010 существует несколько новых или измененных файлов. На Linux 'du' утилита скажет мне фактический размер, взятый каждым возрастающим снимком. В Windows проводник и du под cygwin и дурачит hardlinks, и разоблачает 02.12.2010 взятия немного большего количества пространства, чем 28.11.2010.

Существует ли утилита Windows, которая покажет корректное пространство, acutally использованное?

14
задан 03.12.2010, 00:50

1 ответ

Попытайтесь использовать Использование диска Sysinternals (иначе знают как du), конкретно использование -u и -v флаги будут только считать уникальные случаи и покажут использование каждой папки, как это продвигается.

Насколько я знаю, что файловая система не показывает различие между исходным файлом и жесткой ссылкой (который является действительно точкой жесткой ссылки), таким образом, Вы не можете обесценить их на основе папки папкой, но должны сделать это сравнительно.

Для тестирования я создал случайную папку с 6 файлами в к. Клонированный все это. Затем созданный несколько твердые и гибкие ссылки в первой папке, которая сошлется на другие файлы в первой папке и также некоторых во втором.

Выполнение du -u -v testFld результаты в (отмечают значения рядом с папками, находятся в кибибайте):

       104  <path>\testFld\A
        54  <path>\testFld\B
       149  <path>\testFld

Totals:
Files:        12
Directories:  2
Size:         162,794 bytes
Size on disk: 162,794 bytes

Выполнение du -u -v testFld\a результаты в:

104  <path>\testFld\a
...

Выполнение du -u -v testFld\b результаты в:

74   <path>\testFld\b
...

Заметить несоответствие?
Символьные ссылки в, которые относятся к файлам в B, только говорятся против во время "полного" выполнения, и B только возвращается 54 (даже при том, что файлы были первоначально в B и трудно связаны от A). Когда Вы измеряете B отдельно (или, если Вы не используете -u уникальный флаг), это будет считать свою "полную" меру 74.

11
ответ дан 07.12.2019, 11:20

Теги

Похожие вопросы