Общий размер папки с ls - люфтганза

Я создал каталог, куда я поместил десять файлов, каждого точно с 1 048 576 символами (1024^2). Размер каждого из них должен быть точно один мегабайт, считая мегабайт как 1024^2 байты.

Если я использую ls - люфтганза на том каталоге, это - вывод

[ me: /home/me/test ] ls -lh the_directory
total 11M
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f0
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f1
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f2
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f3
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f4
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f5
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f6
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f7
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f8
-rw-r--r--  1 me we 1.0M Feb  1 17:11 f9

Почему это составляет в целом 11M, если сумма colum точно 10.0M? Если я делаю ls-lha, то я вижу что каталоги . и .. счет на 4 КБ каждый. В этом каталоге нет НИЧЕГО ИНОГО.

Почему это так?

Это было сделано в поле Linux.

1
задан 27.09.2014, 05:11

1 ответ

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

Попробовать ls -lash (это покажет 'дисковый' размер файлов, т.е. с любым дополнительным non-user-data, сохраненным на диске):

total 11M
4.0K drwxr-xr-x  2 whitequark whitequark 4.0K 2010-02-02 06:15 .
4.0K drwxr-xr-x 85 whitequark whitequark 4.0K 2010-02-02 05:33 ..
1.1M -rw-r--r--  1 whitequark whitequark 1.0M 2010-02-02 06:15 f0
...
1.1M -rw-r--r--  1 whitequark whitequark 976K 2010-02-02 06:20 f9

Если Вы запросите размер в килобайтах с ls -las, Вы доберетесь:

total 10288
   4 drwxr-xr-x  2 whitequark whitequark    4096 2010-02-02 06:15 .
   4 drwxr-xr-x 85 whitequark whitequark    4096 2010-02-02 05:33 ..
1028 -rw-r--r--  1 whitequark whitequark 1048576 2010-02-02 06:15 f0
...
1028 -rw-r--r--  1 whitequark whitequark 1048576 2010-02-02 06:18 f9

Кроме того, при сокращении размера последнего файла 48K (издержки), Вы доберетесь 10M (т.е. 10240K) каталог:

total 10M
4.0K drwxr-xr-x  2 whitequark whitequark 4.0K 2010-02-02 06:15 .
4.0K drwxr-xr-x 85 whitequark whitequark 4.0K 2010-02-02 05:33 ..
1.1M -rw-r--r--  1 whitequark whitequark 1.0M 2010-02-02 06:15 f0
...
1.1M -rw-r--r--  1 whitequark whitequark 1.0M 2010-02-02 06:15 f8
980K -rw-r--r--  1 whitequark whitequark 976K 2010-02-02 06:20 f9
1
ответ дан 17.12.2019, 00:50

Теги

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