Я знаю, что вы можете видеть размер файла в байтах, когда делаете длинный листинг с помощью ll
или ls -l
. Но я хочу знать, сколько места в каталоге, включая файлы в этом каталоге и подкаталогах в нем, и т. Д. Я не хочу количество файлов, но вместо этого объем памяти, который занимают эти файлы.
Итак, я хочу знать, сколько памяти находится в определенном каталоге рекурсивно? Я предполагаю, что если есть команда, она будет в байтах.
directory
disk-usage
recursive
Роб Эйвери IV
источник
источник
-b
к выводу в байтахВы просто делаете:
где
-s
для краткости и-h
для человека удобочитаемым ( нестандартный вариант).Будьте осторожны , однако, в отличие
ls
, это не покажет вам размер файла , но использование диска (т.е. кратен файловой системы размер блока), но файл может быть меньше, или даже больше, так что вы можете использовать--apparent-size
опцию:Это размер, который был бы передан по сети, если бы вам пришлось.
Действительно, в файле могут быть «дыры» (пустая оболочка), он может быть меньше размера блока файловой системы, может быть сжат на уровне файловой системы и т. Д. Справочная страница объясняет это.
Как Никлас указывает , вы можете также использовать
ncdu
анализатор использования диска. Запущенный из каталога, он покажет вам, какие папки и файлы используют дисковое пространство, упорядочив их по размеру от наибольшего к меньшему.Вы также можете увидеть этот вопрос .
источник
Обратите внимание, что если вы хотите узнать размер всех папок {sub} внутри каталога, вы также можете использовать опцию
-d
or (которая принимает аргумент: рекурсивное ограничение)--max-depth
du
Например :
Покажет вам что-то вроде
PS: ввод
0
в качестве рекурсивного лимита эквивалентен-s
опции. Эти 2 команды дадут вам один и тот же результат (ваш рекурсивный размер каталога, понятный человеку):источник
-d 1
должен быть до пути к каталогуАльтернативой уже упомянутой
du
команде будетncdu
хороший анализатор использования диска для использования в терминале. Возможно, вам придется сначала установить его, но он доступен в большинстве репозиториев пакетов.Изменить: Формат вывода см. Эти скриншоты http://dev.yorhel.nl/ncdu/scr
источник
Это даст вам список размеров из текущего каталога, включая папки (рекурсивные) и файлы.
источник
В Unix каталог просто содержит имена и ссылки на объекты файловой системы (inode, которые могут ссылаться на каталоги, файлы или некоторые другие экзотические вещи). Файл может находиться под несколькими именами в одном и том же каталоге или находиться в нескольких каталогах. Таким образом, «пространство, используемое каталогом и файлами внутри» действительно не имеет смысла, так как файлы не «внутри».
Тем не менее, команда
du(1)
перечисляет пространство, используемое каталогом, и все, что доступно через него,du -s
дает сводку, а-h
некоторые реализации, такие как GNU,du
дают «читабельный» вывод (т. Е. Килобайт, мегабайт).источник
Для меня это работало задом наперед в случае глубины и пути на OS X El Capitán
источник
Вы можете использовать "file-size.sh" из библиотеки awk Velor :
источник