Почему скопированный файл имеет другой размер?

Когда я копирую файлы между двумя жесткими дисками в той же системе Ubuntu 14.04, с помощью du -s команда, я получаю различные значения. Для файлы на 11,3 ГБ оригинал 11015704, и новое 11015628. Оригинал имеет ext4, и он был передан файловой системе NTFS.

Почему размеры файла отличаются?

3
задан 25 April 2018 в 19:29

1 ответ

(Самые полезные) файловые системы хранят файлы в блоках (более или менее) фиксированного размера. Это означает, что типичный файл займет больше места, чем его логический размер, потому что существуют некоторые неиспользованные байты, перенесенные в одном из его блоков файловой системы. Размер блоков может варьироваться типом файловой системы и/или может быть настроен во время создания файловой системы, что означает, что использование диска того же файла в одной файловой системе может разойтись в другом.

По умолчанию du сообщает фактическое место, которое файлы занимают на диске (т.е. количество занятых блоков, умноженных на размер блока).

Если Вы хотите du для создания отчетов о (коллективных) логических размерах файла, необходимо использовать --apparent-size опция (или -b который подразумевает --apparent-size).

От du(1) руководство:

--apparent-size – распечатайте очевидные размеры, а не использование диска; хотя очевидный размер обычно меньше, это может быть больше из-за дыр в ('редких') файлах, внутренней фрагментации, косвенных блоках, и т.п.

6
ответ дан 1 December 2019 в 15:21

Другие вопросы по тегам:

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