El comando es:
blockdev --getsize64 /dev/mmcblk0p1
Da el resultado en bytes, como un entero de 64 bits. Consulta el tamaño en bytes de un dispositivo de bloqueo , ya que el núcleo ve su tamaño.
La razón, por qué fdisk -l /dev/mmcblk0p1
no funcionó, ¿era eso fdisk
? hace algo totalmente diferente:lee en la tabla de particiones (=primer sector) del dispositivo de bloque e imprime lo que encontró . No comprueba nada, solo dice lo que hay en la tabla de particiones.
Ni siquiera se molesta si la tabla de particiones está dañada o si el dispositivo de bloque no tiene una:imprimirá una advertencia de que la suma de comprobación no está bien, pero seguirá imprimiendo lo que encuentre, incluso si los valores son claramente no. -sentido.
Esto es lo que sucedió en tu caso:/dev/mmcblk0p1
no tiene una tabla de particiones. Como muestra el nombre del dispositivo, ya es la primera partición del disco físico /dev/mmcblk0
. Este disco contiene una tabla de particiones, si lo hubiera consultado con fdisk -l /dev/mmcblk0
, había funcionado (suponiendo que tuviera una tabla de particiones msdos).
Prueba lsblk
, ni siquiera requiere root:
$ lsblk -b
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 34359738368 0 disk
├─xvda1 202:1 0 1676673024 0 part [SWAP]
└─xvda2 202:2 0 32682016768 0 part /var/spool
El -b
el parámetro le dice que muestre el tamaño en bytes.
Para obtener el valor exacto del tamaño total de la partición, ejecute:
awk '{print $1*512}' /sys/class/block/mmcblk0p1/size