df
commande :Rapporter l'utilisation de l'espace disque du système de fichiersdu
commande :Estimer l'utilisation de l'espace fichier
Tapez df -h
ou df -k
pour répertorier l'espace disque libre :
$ df -h
OU
$ df -k
du
montre combien d'espace un ou plusieurs fichiers ou répertoires utilisent :
$ du -sh
Le -s
l'option résume l'espace utilisé par un répertoire et -h
l'option fournit lisible par l'homme sortie.
Oui :
df -k .
pour le répertoire courant.
df -k /some/dir
si vous souhaitez vérifier un répertoire spécifique.
Vous pouvez également consulter le stat(1)
commande si votre système l'a. Vous pouvez spécifier des formats de sortie pour faciliter l'analyse de votre script. Voici un petit exemple :
$ echo $(($(stat -f --format="%a*%S" .)))
Je pense que cela devrait être un commentaire ou une modification de la réponse de ThinkingMedia à cette même question (vérifier l'espace disque libre pour la partition actuelle dans bash), mais je ne suis pas autorisé à commenter (pas assez de représentants) et ma modification a été rejetée (raison :"cela devrait être un commentaire ou une réponse"). Alors s'il vous plaît, pouvoirs de l'univers SO, ne me blâmez pas pour avoir répété et corrigé la "réponse" de quelqu'un d'autre. Mais quelqu'un sur Internet s'est trompé !™ et ils ne m'ont pas laissé réparer.
Le code
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
a un défaut substantiel :Oui, il affichera 50G
gratuit comme 50 -- mais il affichera également 5.0M
gratuit en 50 ou 3.4G
gratuit en 34 ou 15K
gratuit à partir de 15 ans.
Pour créer un script dans le but de vérifier une certaine quantité d'espace disque libre, vous devez connaître l'unité par rapport à laquelle vous vérifiez. Supprimez-le (comme sed
fait dans l'exemple ci-dessus) les nombres n'ont plus de sens.
Si vous voulez vraiment que cela fonctionne, vous devrez faire quelque chose comme :
FREE=`df -k --output=avail "$PWD" | tail -n1` # df -k not df -h
if [[ $FREE -lt 10485760 ]]; then # 10G = 10*1024*1024k
# less than 10GBs free!
fi;
Aussi pour un installateur à df -k $INSTALL_TARGET_DIRECTORY
pourrait avoir plus de sens que df -k "$PWD"
.Enfin, notez que le --output
flag n'est pas disponible dans toutes les versions de df / linux.