1

Например, оно показывает ядро как 18M, а папка Applications - 3.8K.

BSD/Darwin

2 ответа2

3

Согласно справочной странице для ls:

List information about the FILEs (the current directory by default).

ls предназначен для отображения размера файлов в файловой системе, а не для отображения использования каталога. du покажет общее использование объекта файловой системы.

Так ls делает то , что он должен делать. В то время как ваш каталог приложений может содержать файлы, которые используют более 3,8 КБ, сам каталог приложений на самом деле имеет только 3,8 КБ на диске.

1

Потому что вы не в Windows, где мир делает вид, что каталоги не требуют места, а все каталоги имеют нулевую длину. (Некоторые части мира Windows делают вид, что размер каталога - это совокупный размер всех элементов, содержащихся в каталоге.)

В Unices и Linux команда ls -l при отображении записи каталога, указывающей на другой каталог, показывает размер каталога. Он показывает количество места, выделенного для фактического хранения записей в самом каталоге. Для каждой записи каталога ls -l всегда показывает размер узла, на который указывает эта запись, будь то файл, символическая ссылка или каталог.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .