Почему `du` на устройстве сообщает об отсутствии использования?

Выходные данные

sudo df -h

равны

Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  9.2G  5.7G  3.1G  65% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   357M  720K  356M   1% /run
/dev/disk/by-uuid/13605893-3936-4fd6-a7f5-e249f16c3f72  9.2G  5.7G  3.1G  65% /
tmpfs                                                   5.0M  4.0K  5.0M   1% /run/lock
tmpfs                                                   2.2G  2.5M  2.2G   1% /run/shm
/dev/sda6 

                                          278G   12G  252G   5% /home

, тогда как

sudo du -sh /dev/sd*

дают

0   /dev/sda
0   /dev/sda1
0   /dev/sda2
0   /dev/sda5
0   /dev/sda6

o_O

1
задан 2 January 2014 в 20:40

4 ответа

Ваши необработанные устройства перечислены в /dev/, но там нет файловой системы. Как только устройство смонтировано, оно становится доступным в точке монтирования , как указано в столбце «Монтировано на».

Вы должны запустить du в точке монтирования или где-то в ней, чтобы подсчитать использование файловой системы. Например :

sudo du -sh /home

Вы спрашивали, сколько места занимает листинг устройства в виртуальной файловой системе /dev. Это ничто, так как это чисто виртуально.

0
ответ дан 2 January 2014 в 20:40

Хорошо, есть известная разница между свободным пространством, показанным как df, по сравнению с объемом дискового пространства минус пространство, используемое в du (из-за размеров блока и накладных расходов и тому подобного), но это не то, что вы здесь просишь ...

du работает на смонтированных файловых системах. Вы пытаетесь заставить его работать на устройствах и разделах. Если вы хотите увидеть, какое место занимает свободное конкретное устройство, переберите его разделы, смонтируйте их и затем запустите du с аргументом --one-file-system (он же -x).

Например:

sudo mount /dev/sda1 /mnt
sudo du -shx /mnt/
sudo umount /mnt/
# repeat for sda2, sdb1, etc
0
ответ дан 2 January 2014 в 20:40
  • 1
    Другой вопрос, I' m собирающийся переустанавливать окно 8, Если делают это, это уничтожит начальную загрузку Ubuntu, won' t это? – Milad 23 June 2015 в 15:36

Устройство типа /dev/sda - это особый тип файла, который можно использовать для доступа к некоторым функциям ядра. Вы можете создавать устройства, используя mknod .

du обрабатывает устройства так же, как и любой другой файл, и показывает размер, который они используют в файловой системе, который всегда равен 0.

0
ответ дан 2 January 2014 в 20:40
  • 1
    Хорошая интуиция на Стране Регулирующий Домен. Прошел шаг за шагом, тестирование каждого в свою очередь и изменение /etc/default/crda - то, что работало. Спасибо! – raphael 23 June 2015 в 23:54

Я наткнулся на этот старый поток и для тех, кто ищет решение, чтобы перечислить размеры файлов, когда «du» выдает вывод 0 в смонтированной виртуальной файловой системе, просто добавьте флаг «-b». Примерно так:

du -sbh <path>

Следующее также будет работать (что включено в флаг "-b"):

du -sh --apparent-size <path>
0
ответ дан 2 January 2014 в 20:40

Другие вопросы по тегам:

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