web-dev-qa-db-fra.com

Afficher l'espace libre de fichier de fichiers disponible sur l'utilisateur root

Par défaut, Linux se réserve une certaine fraction d'un système de fichiers pour l'utilisateur root, au moins sur EXT4 (pour empêcher les utilisateurs ordinaires de remplir complètement le lecteur et de bloquer le système et de réduire la fragmentation). Cependant, df _ Affiche uniquement l'espace libre apparent aux utilisateurs réguliers (même lorsqu'il est exécuté en tant que root). Comment affichez-vous l'espace libre "réel", qui serait accessible à la racine?

12
Mechanical snail

En utilisant la commande TUNE2FS (trouvé dans /SBIN/TUNE2FS ), vous pouvez facilement déterminer le Espace réservé : (Et plus encore!)

tune2fs -l /dev/sda1

Je vais fournir les informations de mon système à titre de référence, je vais supprimer des lignes extrêmes non importantes pour cette question:

L'en-tête ... et le nom de volume, i étiquette Tous mes lecteurs, les rend faciles à identifier si nécessaire.

tune2fs 1.42.4 (12-Jun-2012)
Filesystem volume name:   xenon
Last mounted on:          /
...

Vérifiez vraiment que cela dit "propre" pendant que le système est en cours d'exécution. Honnête!

Filesystem state:         clean

C'est là que commence la capacité de stockage de données:

Ici, vous pouvez voir que j'ai 121 179 648 blocs Total ... avec une taille de bloc de 4K (4096), qui multiplie à un grand nombre (462-ish GB). (La taille du bloc est notée ci-dessous)

Block count:              121179648

Et les blocs réservés ... en regardant le nombre ci-dessus et que le nombre ci-dessous. Vous devriez être capable de comprendre relativement rapidement que j'ai 1% réservé. Dans ce cas (4.62-ISH GB)

Reserved block count:     1211796

Combien d'espace libre actuellement disponible? Ici!

Free blocks:              104090586
...

Et la taille de bloc tout importante. Utile pour la multiplication.

Block size:               4096
...

Ces lignes disent qui les blocs sont réservés à ... Utilisateur 0, root, dans ce cas

Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
...

Il y a beaucoup plus d'informations disponibles ici, mais cela devrait vous donner une capacité de déterminer rapidement le montant disponible et combien plus de choses sont réservées à la racine. Simple maths.

J'espère que cela t'aides. Rappelez-vous ... Les pages de l'homme sont vos amis.

17
lornix

Cela affiche l'espace libre dans les octets en partition liée à "/ chemin"

printf '%s' $(($(stat -f --format='%f*%S' /path)))

Vous n'avez pas besoin d'être superutilisateur de l'exécuter.

Btw je ne comprends pas tout à fait quelle est la différence entre

% S Taille du bloc (pour les transferts plus rapides)

% S Taille de bloc fondamentale (pour le nombre de blocs)

en usage de stat.

2
jarno