Как узнать размер каталога? Включая подкаталоги и файлы.
Как узнать размер каталога? Включая подкаталоги и файлы.
Ответы:
du -s directory_name
Или получить читабельный вывод:
du -sh directory_name
-s
Вариант означает , что он не будет перечислять размер для каждого подкаталога, только общий размер.
du -sh bag
сработало отлично!
Хотя использование отдельного пакета, такого как ncdu, может работать хорошо, в некоторой степени можно выполнить такое же сравнение многих папок, просто предоставив du список папок для увеличения. Например, для сравнения каталогов верхнего уровня в вашей системе ...
cd /
sudo du -sh ./*
du -sh /*
GNU du
принимает -b
вариант.
Смотрите man
страницу и info
страницу для получения дополнительной помощи:
-b
,--bytes
эквивалентно--apparent-size --block-size=1
du -csh
-c производит общий итог
-c
Не имеет смысла использовать вместе с -s
, не так ли? -s
отображает только размер указанного каталога, то есть общий размер каталога.
Пытаться
du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr
Это помогает найти большие каталоги, чтобы затем просеять через du -sh ./*
Вы также можете использовать ls -ldh:
ls -ldh /etc
drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l для длинного списка; -d для отображения информации dir, а не ее содержимого, -h для отображения размера в читаемом формате huma.
Я всегда устанавливаю пакет "ncdu" и вижу все выходные данные всех каталогов в графическом представлении. Это потому, что мне обычно нужно знать, что занимает больше всего дискового пространства на моих машинах, независимо от того, сколько суммирует один каталог.
Использование: sudo ncdu /
(Вам не нужны sudo
папки, на которые у вас есть разрешение на чтение).
Для сканирования статистики использования диска во всей файловой системе потребуется некоторое время. Он имеет красивое графическое представление командной строки и включает навигацию с помощью клавиш со стрелками, например, углубление или повышение в отсканированном пути. Вы также можете удалить элементы, нажав D.
Вы можете использовать "file-size.sh" из библиотеки awk Velor :
ls -ARgo "$@" | awk '{q += $3} END {print q}'
du -hd1
перечислит в удобочитаемом формате размеры всех каталогов, например
656K ./rubberband
2.2M ./lame
652K ./pkg-config
Я попытался с помощью команды ниже, так как уже был получен лучший ответ
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
выход
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
679445
du
умолчанию POSIX использует блоки по 512 байт, а в Linux - килобайты (если не установлена переменная средыPOSIXLY_CORRECT
) или сdu -k
.