2 votes

Où sont stockées les informations sur l'espace libre d'un disque ?

J'utilise indicateur-multicharge et je voudrais qu'il affiche l'espace disque libre dans mes partitions.

Donc, j'ai parcouru le code, et j'ai découvert que l'auteur analysait le contenu du fichier /sys/block/(device)/stat pour obtenir les vitesses de lecture et d'écriture. (où 'device' peut être sda etc.).

J'ai regardé autour de moi sys/block et je n'ai rien trouvé d'utile qui puisse me donner des informations sur l'espace libre d'un disque. Bien que /sys/block/sda/size donne l'espace total disponible, je n'ai pas trouvé d'entrée pour l'espace libre.

Je veux savoir s'il existe un fichier dans le système linux qui stocke explicitement les informations sur l'espace libre.

Sinon, pouvez-vous me suggérer un moyen d'obtenir un indicateur avec des statistiques sur l'espace disque libre ?

3voto

tags2k Points 11036

L'espace libre n'est pas une propriété du périphérique de bloc - c'est une propriété du système de fichiers sur le périphérique. Par conséquent, il n'y aura rien d'utile sous la rubrique /sys/block . Heureusement, il existe d'autres moyens d'interroger ces informations.

À partir du Shell, l'une des façons les plus simples d'obtenir l'espace libre actuel est d'utiliser la méthode suivante 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

Cela utilise le statfs pour déterminer l'espace libre disponible ; si vous écrivez du code pour interroger l'espace libre, je vous suggère de lire la page de manuel statfs :

man statfs

J'espère que cela vous aidera !

0voto

NoBugs Points 1268

Vous pouvez trouver ces informations en utilisant le df dans le terminal ( df -H pour une sortie plus lisible).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X