Outil cmd en temps réel pour afficher l'espace disque restant

13

Existe-t-il un outil en ligne de commande qui indique en temps réel combien d'espace reste sur mon disque dur externe?

oshirowanen
la source
2
La réponse dépend du système de fichiers. Par exemple, dfne peut pas encore afficher les valeurs correctes pour btrfs. Pourriez-vous ajouter ces informations à votre question?
Jonas Stein

Réponses:

24

Comme Julie l'a dit, vous pouvez utiliser dfpour afficher l'espace libre, en lui passant soit le point de montage, soit le nom du périphérique:

df --human-readable /home
df --human-readable /dev/sda1

Vous obtiendrez quelque chose comme ceci:

Filesystem Size  Used Avail Use% Mounted on
/dev/sda1  833G  84G  749G  10%  /home

Pour l'exécuter en continu, utilisez watch. L'intervalle de mise à jour par défaut est de 2 secondes, mais vous pouvez le modifier avec --interval:

watch --interval=60 df --human-readable /dev/sda1
Alexander Batischev
la source
3

df est un simple utilitaire de ligne de commande qui vous montre l'utilisation du disque, y compris l'espace libre.

Vérifiez les man dfdétails.

Julie Pelletier
la source
1
J'utilise actuellement df -h, ce qui me donne les informations nécessaires au fur et à mesure que je tape df -h. J'étais après quelque chose de plus en direct ou en temps réel, c'est-à-dire quelque chose qui continue de mettre à jour le terminal automatiquement, donc je n'ai pas besoin de taper une commande pour vérifier.
oshirowanen
@oshirowanen Vous pouvez utiliser watch, et il l'exécutera encore et encore et vous montrera une nouvelle sortie (normalement toutes les deux secondes). Gardez à l'esprit qu'un seul programme peut mettre à jour le terminal à la fois dans des conditions normales (c'est-à-dire si vous ne voulez pas faire un gâchis complet de votre écran), donc si vous voulez faire d'autres choses en même temps, vous devez lui dédier un terminal ou l'exécuter dans quelque chose comme screen, tmux ou dvtm pour diviser le terminal en plusieurs terminaux virtuels.
Random832
3

Si vous n'aimez pas l'idée de consacrer un terminal entier à watchla sortie de df, vous pouvez envisager un outil tel que conky . Il existe d'innombrables exemples d'utilisation conkypour tout surveiller, depuis l'utilisation du disque dur, la température du disque dur, l'utilisation du RAM, la météo locale, les gros titres ... vous l'appelez.

sam
la source
2

Utilisez simplement ce qui suit:

watch -d df
Karl
la source
Vous devez modifier cette réponse pour inclure une explication de la façon dont cela diffère de la réponse acceptée - qui fournit déjà des explications sur la façon d'utiliser les commandes dfet watch.
Anthony Geoghegan
0

En utilisant l' excellente réponse fournie ci-dessus par Alexander Batischev , et celle-ci par Ralf Friedl , je les ai combinés avec "trier" à ce lien pour cette commande:

watch -d -n 60 'df -H /dev/sd[a-z][0-9] | sort -r -k 5 -i'

Cela vous permettra de regarder tous vos disques durs dans un terminal, mis à jour toutes les minutes, triés par pourcentage d'espace utilisé.

Je ne sais pas combien cette réponse peut ajouter à ce qui est déjà là (c'est ma toute première réponse), mais j'ai pensé que je la mettrais ici, au cas où quelqu'un viendrait chercher exactement ce que je voulais faire, c'est ainsi Je me suis retrouvé sur cette question en premier lieu. Je pensais que j'essaierais de sauver quelqu'un d'autre l'effort d'avoir à comprendre comment mettre "regarder", "df" et "trier" ensemble, si je le pouvais.

Pour info, j'ai utilisé l'expression régulière au lieu de simplement "/ dev / sd *" car mon système affiche également plusieurs entrées "udev", que je n'avais pas besoin ou que je ne voulais pas voir. La commande telle qu'écrite ci-dessus les masque et n'affiche que les disques durs.

Wayne Chesser
la source