J'essaie de trouver la taille de mon disque, j'ai donc exécuté la commande ci-dessous
$ sudo fdisk -s /dev/sda
976762584
Il montre comme ci-dessus. Je pense que la taille ( 976762584
) du disque est indiquée en kilo-octets. Comment convertir la valeur en mégaoctets ou gigaoctets via le terminal pour une meilleure compréhension?
command-line
Avinash Raj
la source
la source
df -h /
. Affiche la taille de/
dans un-h
format lisible par uman.blockdev --getsize64
Réponses:
L'interpréteur de commandes utilise une arithmétique d'entier à largeur fixe sans vérification de dépassement. Ainsi, lorsque vous effectuez un calcul qui peut impliquer de grands nombres ou des fractions,
bc
est un bon choix. Pour obtenir des mégaoctets:Pour obtenir des gigaoctets:
L'affectation
scale=2
indiquebc
d'afficher deux décimales.la source
bc <<<"scale=2; $(sudo fdisk -s /dev/sda6) / 1024^2"
numfmt
(partie de GNU Coreutils ) peut être utilisé ici:la source
Dans awk
Pour trouver la taille du disque en mégaoctets,
Pour trouver la taille du disque en gigaoctets,
la source
sudo fdisk -s /dev/sda
vous pouvez utiliserdf | grep ^\/dev.*/\$
sudo fdisk
était la portée du projet définie en question.Si la taille est indiquée en kilo-octets, vous devez effectuer le calcul via les expressions intégrées Bash. En supposant que la taille du bloc = 512B, vous devez taper:
Cela montrera la taille du disque en Ko. Pour aller plus loin, il suffit d'ajouter
/1024
à la fin de l'expression:Cela montrera la taille du disque en MiB et ainsi de suite.
la source
$[...]
format a été déconseillé et, comme il estman bash
dit, "sera supprimé dans les prochaines versions". Le format actuellement préféré pour l'arithmétique du shell est$((...))
.sudo
manque. De plus, l'unité de mesure ne s'imprime pas.echo $((($(cat /sys/block/sda/size)*512)/1024**3))GB
Vous pouvez le faire en mode natif avec Bash et les nombres à virgule flottante. Définissez cette fonction dans votre
~/.bashrc
et rouvrez votre terminal:Maintenant testez-le:
la source
Il existe un outil appelé unités, qui peut être utilisé pour la conversion des unités:
Il est disponible sous forme de package via
apt install units
.Il s'agit d'un outil assez standard, qui peut être trouvé installé par défaut sur divers autres systèmes de type UNIX (par exemple, FreeBSD ). Gardez à l'esprit que la syntaxe d'unités (1) peut différer selon les implémentations disponibles sur différents systèmes d'exploitation. Voici la même conversion mais cette fois avec les unités FreeBSD (1) :
la source