Я использую индикатор multi-load и хотел бы, чтобы он отображал свободное дисковое пространство в моих разделах.
Итак, я просмотрел код и обнаружил, что автор анализирует содержимое /sys/block/(device)/stat
для получения скорости чтения и записи. (где «устройство» может быть sda и т. д.).
Я огляделся sys/block
и не смог найти ничего полезного, что могло бы дать мне информацию о свободном месте на диске. Хотя /sys/block/sda/size
дает общее доступное пространство, я не смог найти запись для свободного места.
Я хочу знать, есть ли в системе linux файл, который явно хранит информацию о свободном пространстве.
Если нет, можете ли вы предложить способ получения индикатора со статистикой на свободном дисковом пространстве.
Свободное пространство не является свойством блочного устройства - это - свойство файловой системы на устройстве. Следовательно, не будет ничего полезного под /sys/block
. К счастью, существуют другие способы запросить эту информацию.
От оболочки один из самых легких способов получить текущее свободное пространство при помощи df
:
[jk@pecola sda2]$ df -h /dev/sda[123]
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 64M 117K 64M 1% /boot/efi
/dev/sda2 20G 9.7G 9.4G 51% /
/dev/sda3 92G 65G 23G 75% /home
Это использует statfs
системный вызов для определения доступного свободного пространства; если бы Вы - написание кода для запросов свободного пространства, я предложил бы читать statfs страницу справочника:
man statfs
Надеюсь, это поможет!
Вы можете найти эту информацию, используя команду df
на терминале (df -H
для более удобного чтения).