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-hformato legible.blockdev --getsize64Respuestas:
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,
bces una buena opción. Para obtener megabytes:Para obtener gigabytes:
La asignación
scale=2le indicabcque 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/sdaque pueda usardf | grep ^\/dev.*/\$sudo fdiskfue 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
/1024al 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 bashdice, "se eliminará en las próximas versiones". El formato preferido actualmente para la aritmética de shell es$((...)).sudofalta. Además, la unidad de medida no se imprime.echo $((($(cat /sys/block/sda/size)*512)/1024**3))GBPuede hacer esto de forma nativa con Bash y números de punto seudo-flotante. Defina esta función en su
~/.bashrcy 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