Неверный размер каталога Centos 6.5 при использовании команды du
Я запускаю команду du в одном из моих каталогов веб-сайтов и получаю 2 разных результата, я не понимаю, какой из них точный и почему есть большая разница, здесь и команда, и вывод.
du -hsc directory_name/
5.3G directory_name/
5.3G total
du -hsc directory_name/*
4.0K directory_name/announcements.php
4.0K directory_name/articles.php
1.2M directory_name/election2011
4.3M directory_name/error_log
78M directory_name/files
3.0G directory_name/php
3.1G total
Спасибо
2 ответа
Не могли бы вы опубликовать команду и результаты в удобном для чтения формате, используя следующие строки?
Я подозреваю, что размер ничем не отличается...
Когда вы печатаетеdu -hsc dir_name
"Вы спрашиваете о размере"dir_name
".
Но когда вы печатаетеdu -hsc dir_name/*
"Вы запрашиваете размер всех каталогов и файлов внутри"dir_name
". Таким образом, сумма всех файлов, полученных"du -hsc dir_name/*
"должен составить сумму"du -hsc dir_name
".
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ
Я нашел следующее ( http://www.linfo.org/du.html):
"Несколько похожий отчет предоставляется с использованием подстановочного знака" звездочка "( *), который будет соответствовать любому символу или символам. Например, следующая команда выведет список размеров всех каталогов в дереве, начинающемся с текущего каталога:
ду *
Однако в списке перечислены только файлы в родительском каталоге, а не в его подкаталогах. Кроме того, не предоставляется итоговое значение для дерева каталогов в целом.
Совместное использование параметра -s и подстановочного знака "звезда" приведет к тому, что du сообщит имена и размеры только тех файлов и каталогов, которые содержатся непосредственно в самом каталоге верхнего уровня (и не выведет список имен каких-либо его подкаталогов и файлов. в них). Размер каждого перечисленного каталога, конечно, включает все его файлы и подкаталоги (включая все файлы в них). Например, такой отчет о дереве каталогов, начинающемся с текущего каталога, будет представлен следующим:
du-hs *
Подстановочный знак также можно использовать для фильтрации выходных данных, чтобы перечислять только те элементы, имена которых начинаются, содержат или заканчиваются определенными символами или последовательностями символов. Например, в следующем сообщении будут указаны имена и размеры всех каталогов и файлов в текущем каталоге, имена которых начинаются с буквы s, а также имена и размеры всех уровней подкаталогов этих каталогов независимо от того, с чего начинаются их имена. с:
du -hs * "
Обратите внимание, где я выделился. Похоже, подстановочный знак получает только каталоги в родительском каталоге, а сумма не указана.
Если имя_каталога содержит скрытые файлы, они будут учитываться в первой команде, а не во второй. Шаблон directory_name/* не включает в себя файлы, которые начинаются с. (это включает диск для директории directory_name).