Выходные данные
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
Ваши необработанные устройства перечислены в /dev/
, но там нет файловой системы. Как только устройство смонтировано, оно становится доступным в точке монтирования , как указано в столбце «Монтировано на».
Вы должны запустить du
в точке монтирования или где-то в ней, чтобы подсчитать использование файловой системы. Например :
sudo du -sh /home
Вы спрашивали, сколько места занимает листинг устройства в виртуальной файловой системе /dev
. Это ничто, так как это чисто виртуально.
Хорошо, есть известная разница между свободным пространством, показанным как 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
Устройство типа /dev/sda
- это особый тип файла, который можно использовать для доступа к некоторым функциям ядра. Вы можете создавать устройства, используя mknod .
du
обрабатывает устройства так же, как и любой другой файл, и показывает размер, который они используют в файловой системе, который всегда равен 0.
/etc/default/crda
- то, что работало. Спасибо!
– raphael
23 June 2015 в 23:54
Я наткнулся на этот старый поток и для тех, кто ищет решение, чтобы перечислить размеры файлов, когда «du» выдает вывод 0 в смонтированной виртуальной файловой системе, просто добавьте флаг «-b». Примерно так:
du -sbh <path>
Следующее также будет работать (что включено в флаг "-b"):
du -sh --apparent-size <path>