Ich versuche, die Größe meiner Festplatte zu ermitteln, daher habe ich den folgenden Befehl ausgeführt
$ sudo fdisk -s /dev/sda
976762584
Es zeigt wie oben. Ich denke, die Größe ( 976762584
) der Festplatte wird in Kilobyte angezeigt. Wie konvertiere ich den Wert zum besseren Verständnis über das Terminal in Megabyte oder Gigabyte?
command-line
Avinash Raj
quelle
quelle
df -h /
. Zeigen Sie die Größe/
in einem-h
uman lesbaren Format an.blockdev --getsize64
Antworten:
Die Shell führt eine Ganzzahlarithmetik mit fester Breite durch, ohne auf Überlauf zu prüfen. Wenn Sie also eine Berechnung durchführen, die entweder große Zahlen oder Brüche umfasst,
bc
ist dies eine gute Wahl. So erhalten Sie Megabyte:Um Gigabyte zu bekommen:
Die Zuweisung
scale=2
weistbc
an, zwei Dezimalstellen anzuzeigen.quelle
bc <<<"scale=2; $(sudo fdisk -s /dev/sda6) / 1024^2"
numfmt
(Teil von GNU Coreutils ) kann hier verwendet werden:quelle
In awk
Um die Größe der Festplatte in Megabyte zu ermitteln,
Um die Größe der Festplatte in Gigabyte zu ermitteln,
quelle
sudo fdisk -s /dev/sda
können Sie verwendendf | grep ^\/dev.*/\$
sudo fdisk
war der fragliche Projektumfang.Wenn die Größe in Kilobyte angegeben wird, müssen Sie die in Bash integrierten Ausdrücke berechnen. Angenommen, die Blockgröße = 512B, müssen Sie Folgendes eingeben:
Dies zeigt die Festplattengröße in KiB an. Um weiter zu gehen, fügen Sie einfach
/1024
am Ende des Ausdrucks Folgendes hinzu:Dies zeigt die Festplattengröße in MiB usw. an.
quelle
$[...]
Format veraltet und wird, wieman bash
gesagt, "in kommenden Versionen entfernt". Das derzeit bevorzugte Format für die Shell-Arithmetik ist$((...))
.sudo
fehlen. Auch die Maßeinheit wird nicht ausgedruckt.echo $((($(cat /sys/block/sda/size)*512)/1024**3))GB
Sie können dies nativ mit Bash- und Pseudo-Gleitkommazahlen tun. Definieren Sie diese Funktion in Ihrem
~/.bashrc
und öffnen Sie Ihr Terminal erneut:Testen Sie es jetzt:
quelle
Es gibt ein Tool namens Einheiten, das für die Einheitenumrechnung verwendet werden kann:
Es ist als Paket über erhältlich
apt install units
.Es ist ein ziemlich standardmäßiges Tool, das standardmäßig auf verschiedenen anderen UNIX-ähnlichen Systemen (z . B. FreeBSD ) installiert ist . Beachten Sie, dass die Syntax von Einheiten (1) je nach Implementierung auf verschiedenen Betriebssystemen unterschiedlich sein kann. Hier ist die gleiche Konvertierung, diesmal jedoch mit FreeBSD-Einheiten (1) :
quelle