Si desea utilizar esa información en un script, por ejemplo, utilizando
sudo blockdev --getsz /dev/sda
puede ser más fácil que fdisk o hdparm, ya que solo le brinda la información relevante (simplemente multiplique por 512). Sin embargo, también requerirá sudo.
Por supuesto, podría cambiar la configuración de sudo de modo que permita ejecutar este comando específico sin solicitar la contraseña (supongo que blockdev --getszes bastante seguro incluso cuando lo ejecuta un usuario normal sin privilegios).
Esto se haría agregando la siguiente línea a /etc/sudoers:
ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*
Cuando edite este archivo, asegúrese de usar el comando sudo visudoy no su editor habitual. De lo contrario, es muy fácil cometer un error de sintaxis, lo que daría como resultado que ya no se pueda usar sudo (tendrías que reiniciar en modo de rescate para solucionarlo).
dfes impreciso si el disco tiene espacio no particionado, no todas las particiones están montadas (por ejemplo, algunas particiones de Windows en la misma unidad) o algunas particiones no están montadas directa sino indirectamente a través de RAID, LVM o LUKS (cifrado). También perderá las particiones de intercambio. Por lo tanto, recomiendo no usardfpara averiguar el tamaño del disco duro.