GNU/Linux >> Tutoriels Linux >  >> Linux

Afficher l'espace libre du système de fichiers disponible pour l'utilisateur root

En utilisant la commande tune2fs (trouvé dans /sbin/tune2fs ), vous pouvez facilement déterminer l'espace réservé :(et plus !)

tune2fs -l /dev/sda1

Je vais fournir les informations de mon système pour référence, je vais supprimer les lignes superflues qui ne sont pas importantes pour cette question :

L'en-tête... et le nom du volume, j'étiquette tous mes disques, les rend faciles à identifier si nécessaire.

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

Je veux VRAIMENT que cela dise "nettoyer" pendant que le système fonctionne. Honnête !

Filesystem state:         clean

C'est là que commencent les informations sur la capacité de stockage des données :

Ici, vous pouvez voir que j'ai un total de 121 179 648 blocs ... avec une taille de bloc de 4K (4096), qui se multiplie en un grand nombre (462 Go). (La taille du bloc est indiquée ci-dessous)

Block count:              121179648

Et les blocs réservés... en regardant le nombre ci-dessus et le nombre ci-dessous... vous devriez être en mesure de comprendre assez rapidement que j'ai 1 % de réservé. Dans ce cas (environ 4,62 Go)

Reserved block count:     1211796

Combien d'espace libre actuellement disponible ? Juste ici !

Free blocks:              104090586
...

Et la taille de bloc très importante. Utile pour multiplier.

Block size:               4096
...

Ces lignes indiquent à 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 permettre de déterminer rapidement la quantité disponible et la quantité de plus réservée à root. Mathématiques simples.

J'espère que cela t'aides. N'oubliez pas que les pages de manuel sont vos amis.


Je ne suis pas sûr qu'il y ait un outil intégré, mais en supposant que vous avez laissé la réserve à 5 % par défaut, cela vous dira :

df / | grep dev | cut -f 3,6 -d\  | awk '{print ($1*.05)+$2}'

df la racine, grep pour la ligne contenant dev (pour supprimer l'en-tête), cut la taille et les champs disponibles, puis utilisez un awk script pour calculer 5 % de la taille du disque ajouté au disponible.

Vous pouvez extraire la réservation réelle de tune2fs -l <device> et combinez cela avec ce qui précède dans un script.


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

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

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

BTW je ne comprends pas très bien quelle est la différence entre

Taille de bloc %s (pour des transferts plus rapides)

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

en utilisant stat .


Linux
  1. Pourquoi l'utilisateur racine a-t-il besoin d'une autorisation Sudo ?

  2. Qu'est-il arrivé à l'espace libre ?

  3. Linux - Comment le noyau Linux planifie-t-il le processeur, entre les processus/threads de l'espace utilisateur et les tâches/travaux du noyau ?

  4. Comment :libérer de l'espace disque en réduisant les blocs réservés

  5. Trouver la taille et l'espace libre du système de fichiers contenant un fichier donné

Comment désactiver la connexion SSH pour l'utilisateur root sous Linux ?

Quel est le moyen le plus simple de libérer de l'espace sur un disque dur ?

Plus d'espace dans le système de fichiers racine, comment pourrais-je augmenter la taille ?

Pourquoi protéger le noyau Linux de l'utilisateur root ?

Bloquer une commande particulière sous Linux pour un utilisateur spécifique

Comment fonctionnent les autorisations de fichiers pour l'utilisateur root ?