Каково различие между du-h и ls - люфтганза?

С другой стороны, если большинство Ваших vhosts следует за подобными шаблонами, Вы могли бы использовать mod_macro. Я недавно настроил это для апачской установки с 200 + подобный vhosts, и он работает как очарование.

Вы - пример, был бы переписан как таковой: (/etc/apache2/macro.d/drupal.vhost.conf (

<Macro drupal0 $domain>
NameVirtualHost $domain:80

<VirtualHost $domain:80>
        DocumentRoot /home/d/r/drupal/web/public_html
        ServerName $domain
        ServerAlias www.$domain
        ErrorLog /var/log/apache2/sites/$domain_error-log
        CustomLog /var/log/apache2/sites/$domain_access-log "combined"

        # Rewrite the www
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www\.$domain/?$ [NC]
        RewriteRule ^(.*)$ http://$domain$1 [L,R=301]

        # Read in the drupal configuration
        Include conf.d/drupal6.conf

        # Block access while developing
#       Include conf.d/beta.conf
</VirtualHost>
</Macro>

Используя макрос: (/etc/apache2/sites-available/drupal.sites.conf)

Include /etc/apache2/macro.d/drupal.vhost.conf
Use drupal0 mydomain.co.uk
31
задан 14 July 2011 в 02:18
4 ответа

Это называют слабым пространством:

Каждый слой абстракции сверху отдельных битов и байтов приводит к потраченному впустую пространству, когда файл данных меньше, чем самый маленький блок данных, файловая система способна к отслеживанию. Это потраченное впустую пространство в секторе, кластере или блоке обычно упоминается как слабое пространство, и это не может обычно использоваться для устройства хранения данных дополнительных данных. Для отдельных 256-байтовых секторов максимальное потраченное впустую пространство составляет 255 байтов. Для 64-килобайтных кластеров максимальное потраченное впустую пространство составляет 65 535 байтов.

Так, если Ваша файловая система выделяет место в единицах 64 КБ, и Вы храните файл на 3 КБ, затем:

  • фактический размер файла составляет 3 КБ.
  • резидентный размер файла составляет 64 КБ, поскольку остающийся 61 КБ в той единице не может быть выделен другому файлу и таким образом потерян.

Примечание: Некоторые файловые системы поддерживают подвыделение блока, которое помогает смягчить эту проблему путем присвоения нескольких маленьких файлов (или заключительные части больших файлов) в тот же блок.

48
ответ дан 28 November 2019 в 19:56

Файловые системы составлены из блоков. Файлы не должны аккуратно вписываться в блоки. Если бы файл составлял 1 024 байта, это - размер в ls, и du был бы 1024. Если бы размер файла был 1025, то размер был бы 1025 в ls и 2048 в du.

Обратите внимание, что пример выше принимает размер блока 1 024. Большие размеры блока являются нормой в эти дни e, g,

ls -l fred
-rw-r--r-- 1 iain users 1024 Jul 13 22:06 fred

du -h fred
8.0K    fred
6
ответ дан 28 November 2019 в 19:56

Здесь существует другая опция, которая не была покрыта - редкие файлы. В этом случае, du покажет меньший размер, чем простое ls -l был бы, потому что ls сообщает "размер" файла, как являющегося очевидным размером (число байтов, которые Вы могли считать, если бы Вы хотели много из, обнуляет), в то время как du продолжит использовать фактическое количество используемых дисковых блоков.

Забавный прием: Создайте очень много больших редких файлов, затем произведите на своих друзей впечатление тем, сколько дискового пространства Вы имеете ("смотрят, я храню eleventy-огромное-количество файлов на 1 ТБ на моем жестком диске!"). Хорошо, возможно, не таким образом забава затем.

19
ответ дан 28 November 2019 в 19:56

Существует все еще еще одна причина, они могут отличаться. du-h знает, когда он видит тот же файл под другим именем (жесткие ссылки, в противоположность символьным ссылкам) и сообщит о каждом файле для размера, это, но только добавьте размер однажды к общему родительскому каталогу.

0
ответ дан 28 November 2019 в 19:56

Теги

Похожие вопросы