Я записал программу C для отображения информации о базовой системе. Это делает это путем парсинга/etc/network/interfaces и/proc/meminfo с fgets и связанной логикой. Они дают мне информацию об информации о сети и памяти/RAM, но есть ли дополнительное местоположение, где я могу извлечь доступное дисковое пространство и общее дисковое пространство в моей программе?
Можно получить размер диска, читая файл /sys/proc/sda/size
, он даст Вам число как 976773168. Возьмите то число и умножьте его на 512 и получите размер в байтах. Оттуда, можно преобразовать его в МБ или ГБ.
Также можно получить размер размера разделов, читая /sys/block/sda/sdaX/size
.
Команда df -h
показывает диску свободное и использованное пространство для каждого монтирования в человекочитаемых размерах.
команда du -sh /* | sort -n -r
покажет, сколько пространства используется каждым высокоуровневым каталогом.