Существует ли простая команда для отображения общего совокупного размера (использования диска) всех файлов в каталоге (папке)?
Я пробовал это, и они не делают то, что я хочу:
ls -l
, который отображает только размер отдельных файлов в каталоге, ниdf -h
, который отображает только свободное и использованное пространство на моих дисках.
filesystem
command-line
Дэвид Барри
источник
источник
Ответы:
Команда
du
«суммирует использование диска каждого ФАЙЛА, рекурсивно для каталогов», например,-h
чтобы получить числа "удобочитаемые", например,140M
вместо143260
(размер в килобайтах)-s
для справки (в противном случае вы получите не только размер папки, но и все в папке отдельно)По мере использования
-h
вы можете сортировать удобочитаемые значения, используя-h
Флаг наsort
будет рассматривать значение размера «Читабельны».Если вы хотите избежать рекурсивного перечисления всех файлов и каталогов, вы можете указать
--max-depth
параметр, чтобы ограничить количество отображаемых элементов. Чаще всего,--max-depth=1
источник
du -sh
или DOOSH как способ запомнить его (ПРИМЕЧАНИЕ: команда та же самая, только организация флагов командной строки для целей памяти)du -hs *
и зашел в самый большой каталог и выяснил, какие файлы были такими большими ... Это такой хороший метод, и лучшая часть в том, что вам не нужно ничего устанавливать! Определенно заслужил мое upvotedu
имеет несколько своеобразное округление, без десятичных разрядов, если значение имеет более одной цифры в выбранной единице), и классический выпуск префикса 1024 против 1000 .du
имеет возможность-B
(или--block-size
) изменить единицы измерения, в которых отображаются значения, или вы можете использовать-b
вместо-h
получения «сырое» значение в байтах.Недавно я нашел отличный интерактивный инструмент на основе ncurses, который быстро дает вам обзор размеров каталогов. Искал такой инструмент годами.
Думайте об этом как о баобабе для командной строки:
источник
ncdu
является удивительным! После установки просто сделайте этоncdu /
. Вы очень быстро найдете самые большие файлы в системе. Также нажмите вh
то время как внутри интерфейса консоли ncdu. У него очень полезные ярлыкиЭто находит размер рекурсивно и помещает его рядом с каждым именем папки вместе с общим размером внизу, все в человеческом формате
источник
Наслаждайтесь!
Больше информации об этой команде здесь
источник
tree
Еще одна полезная команда для этой работы:Просто установите его через
sudo apt-get install tree
и введите следующее:Из дерева человек :
источник
Ниже приводится то, что я использую для печати общего размера, папки и размера файла:
подробности
Выход
источник
Ответы сделали очевидным, что
du
это инструмент для определения общего размера каталога. Однако есть несколько факторов, которые следует учитывать:Иногда
du
выходные данные могут вводить в заблуждение, поскольку в них указывается пространство, выделенное файловой системой, которое может отличаться от суммы размеров отдельных файлов. Обычно файловая система выделяет 4096 байт для файла, даже если вы сохранили в нем только один символ!Различия в выходной мощности обусловлены мощностью 2 и мощностью 10 единиц.
-h
Переход кdu
делит число байт на 2 ^ 10 (1024), 2 ^ 20 (1048576) и т.д. , чтобы дать удобочитаемый выход. Многие люди могут более привыкнуть видеть силу 10 (например, 1K = 1000, 1M = 1000000) и быть удивлены результатом.Чтобы найти общую сумму размеров всех файлов в каталоге, в байтах, выполните:
Пример:
источник
--bignum
или-M
; если это не вариант, используйтеfind . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc
# 2 .--si
вариант: «как -h, но используйте полномочия 1000, а не 1024»Используйте только размер каталога в удобочитаемом формате:
Это, вероятно, не в правильном разделе, но из командной строки вы можете попробовать:
Это
-s
размер, и-h
человек читается.Используйте
-l
для отображения вls
списке, как показано ниже:источник
du /foldername
стандартная команда для определения размера папки. Лучше всего найти варианты, прочитав справочную страницу:Вы должны прочитать справочную страницу (доступна онлайн ), прежде чем использовать команду.
источник
Вот скрипт POSIX, который будет работать с:
Источник
источник
Если в вашем нужном каталоге много подкаталогов, используйте следующее:
который тогда произведет общее общее использование памяти всеми файлами / папками в текущем каталоге.
источник
Лучшее, на мой взгляд, следующее:
Это покажет вам только размер каталога, который вас интересует, и не будет печатать размеры каких-либо каталогов и файлов внутри этого каталога.
Я должен добавить, что если размер папки большой, то du занимает больше времени. Вы должны быть терпеливы, чтобы эта команда сработала. Как и любая другая команда Unix, вы можете узнать общее время для этого процесса, используя
time
перед этой командой:источник
du
есть возможность для этого:-s