Загальний розмір папки з ls-lh


1

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

Якщо я використовую ls -lh у цьому каталозі, це вихід

[ 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

Чому він дорівнює 11М, якщо сума колу становить рівно 10,0М? Якщо я роблю ls -lha, то я бачу, що каталоги .і ..нараховують 4 КБ кожен. У цьому каталозі немає нічого іншого.

Чому це так?

Це було зроблено у вікні Linux.

Відповіді:


1

Це тому, що є два додаткові записи 4K ( .і ..), невеликий накладний 4К на кожному файлі (це блок метаданих) і lsзавжди округляє розміри.

Спробуйте ls -lash(він покаже розмір файлів "диск", тобто з будь-якими додатковими даними, що не користувачі, що зберігаються на диску):

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

Крім того, якщо ви зменшите розмір останнього файлу на 48 К (накладні витрати), ви отримаєте каталог 10М (тобто 10240К):

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

las -las повернення в байтах .. не кілобайт
Якоб Убайді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.