Intento encontrar el tamaño de mi disco, así que ejecuté el siguiente comando
$ sudo fdisk -s /dev/sda
976762584
Se muestra como arriba. Creo que el tamaño ( 976762584
) del disco se muestra en kilobytes. ¿Cómo convierto el valor a megabytes o gigabytes a través de la terminal para una mejor comprensión?
command-line
Avinash Raj
fuente
fuente
df -h /
. Muestra el tamaño de/
en un-h
formato legible.blockdev --getsize64
Respuestas:
El shell realiza aritmética de enteros de ancho fijo sin verificación de desbordamiento. Por lo tanto, al hacer un cálculo que podría involucrar grandes números o fracciones,
bc
es una buena opción. Para obtener megabytes:Para obtener gigabytes:
La asignación
scale=2
le indicabc
que muestre dos decimales.fuente
bc <<<"scale=2; $(sudo fdisk -s /dev/sda6) / 1024^2"
numfmt
(parte de GNU Coreutils ) se puede usar aquí:fuente
En awk
Para encontrar el tamaño del disco en megabytes,
Para encontrar el tamaño del disco en Gigabytes,
fuente
sudo fdisk -s /dev/sda
que pueda usardf | grep ^\/dev.*/\$
sudo fdisk
fue el alcance del proyecto definido en cuestión.Si el tamaño se da en kilobytes, debe calcular mediante las expresiones integradas de Bash. Suponiendo que el tamaño del bloque = 512B, debe escribir:
Esto mostrará el tamaño del disco en KiB. Para ir más allá, solo agregue
/1024
al final de la expresión:Esto mostrará el tamaño del disco en MiB y así sucesivamente.
fuente
$[...]
formato ha quedado en desuso y, comoman bash
dice, "se eliminará en las próximas versiones". El formato preferido actualmente para la aritmética de shell es$((...))
.sudo
falta. Además, la unidad de medida no se imprime.echo $((($(cat /sys/block/sda/size)*512)/1024**3))GB
Puede hacer esto de forma nativa con Bash y números de punto seudo-flotante. Defina esta función en su
~/.bashrc
y vuelva a abrir su terminal:Ahora pruébalo:
fuente
Hay una herramienta llamada unidades, que se puede usar para la conversión de unidades:
Está disponible como un paquete a través de
apt install units
.Es una herramienta bastante estándar, que se puede encontrar instalada por defecto en otros sistemas similares a UNIX (por ejemplo, FreeBSD ). Tenga en cuenta que la sintaxis de las unidades (1) puede diferir entre las implementaciones disponibles en varios sistemas operativos. Aquí está la misma conversión, pero esta vez con unidades FreeBSD (1) :
fuente