Рейтинг:1

почему du -b и du -k так сильно отличаются

флаг kr
gyd

Я использую Ubuntu 16.04.5 LTS, а версия du — 8.25. Теперь у меня вопрос:

$ du -b /var/log/lastlog
69788251412 /var/журнал/ластлог

размер соответствует команде ls -al. Пока я использую du -k, у него другой результат:

$ du -k /var/log/lastlog
80 /var/журнал/ластлог

Два результата не совпадают, почему?

Рейтинг:1
флаг cl
A.B

/var/журнал/последний журнал представляет собой двоичный файл, используемый в режиме «произвольного доступа», а не журнал, добавленный к нему, и, таким образом, естественно разреженный файл, как отмечено в этом руководстве (GNU/Linux):

ПРИМЕЧАНИЕ

Файл lastlog представляет собой базу данных, содержащую информацию о последнем входе в систему. каждого пользователя. Вы не должны вращать его. Это разреженный файл, так что это размер на диске обычно намного меньше, чем показано "ls -l" (что может указывать на действительно большой файл, если у вас есть пользователи passwd с высокий UID).Вы можете отобразить его реальный размер с помощью «ls -s».

Разреженный означает, что его фактическое использование диска меньше, чем его видимый размер.

В GNU/Linux вариант для дю описывается как:

, --байты

эквивалентно --apparent-size --block-size=1

Это, явно отключает обнаружение и обработку разреженных файлов, включая --кажущийся размер.

Таким образом, чтобы размер в байтах соответствовал (фактическое использование на диске) вместо этого используйте:

du --block-size=1 /var/log/lastlog

или чтобы размер соответствовал КиБ (с видимым размером) используйте вместо этого:

du --apparent-size -k /var/log/lastlog
флаг kr
gyd
Спасибо за ваш ответ, очень помогает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.