Как я могу получить размер всех файлов и всех файлов в его подкаталогах, используя команду du.
Я пытаюсь с помощью следующей команды получить размер всех файлов (и файлов в подкаталогах)
find . -type f | du -a
Но это также распечатывает размеры папок. Как я могу получить список размеров всех файлов и файлов в подкаталогах? Я также пытался, exec flag
но я не уверен, как передать вывод в другую команду после того, как она выполняет результаты find
в du
.
Операционная система AIX 6.1 с оболочкой ksh.
find -print0
или других функций GNU. Если доступно, замена\;
на\+
приведет к меньшему количеству вызововdu
и, следовательно, к лучшей производительности.+
варианте. Это вариант дляdu
или дляfind
? И почему это приводит к меньшему количеству звонков?find
. Он указываетexec
команде (в нашем случаеdu
) только один раз, причем все результатыfind
выдаются в качестве последовательных аргументов команды.du -f --threshold=1G
Если у вас есть утилиты GNU, попробуйте
источник
man du
что не перечисляетfiles
илиfrom
флаг.du -ch
чтобы получить общее количество подходящих файлов:find . -name 'blah blah.*' -print0 | du --files0-from=- -ch
Я обычно использую:
Xargs обычно вызывает команду, даже если аргументы не переданы;
xargs du </dev/null
все равноxargs -r du </dev/null
будет звонить, не буду звонить ду. В-0
аргументе выглядит для завершающего нуля строк , вместо символа новой строки прекращается.Затем я обычно добавляю
| awk '{sum+=$1} END {print sum}'
в конце, чтобы получить сумму.источник
then I usually add
стоит золота :-)Вот версия с длинными именами параметров и человеческой сортировкой.
Я также не видел необходимости
-a/--all
быть переданнымdu
.источник
конкретные файлы в текущем каталоге
du -ch files*
короче и у меня работает
du -sh .
для текущего каталога и всех файлов в сабе
du (GNU coreutils) 8.30
источник
du -ch files*
? Предположим , что текущий каталог содержитant
,apple
,banana
,bat
,cat
,corn
,date
, иdog
, где имена животных подкаталоги и фрукты / овощи имена файлов - то , что команда будет использовать , чтобы получить только файлы? Или это не то, что вы имели в виду? (2)du -sh .
будет сообщать только общее количество всего в текущем каталоге и под ним, а не сами файлы вообще. Это в значительной степени полная противоположность тому, что задан вопрос.