2

Я запускаю команду 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 ответа2

0

Не могли бы вы опубликовать команду и результаты в удобном для чтения формате, используя следующие строки?

Я подозреваю, что размер ничем не отличается ...

Когда вы набираете « 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 * "

Обратите внимание, где я выделился. Похоже, подстановочный знак получает только каталоги в родительском каталоге, а сумма не указана.

0

Если имя_каталога содержит скрытые файлы, они будут учитываться в первой команде, а не во второй. Шаблон имя_каталога /* не содержит никаких файлов, начинающихся с. (это включает диск для каталога directory_name).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .