Якщо ви хочете використовувати цю інформацію, наприклад, у сценарії, використовуючи
sudo blockdev --getsz /dev/sda
може бути простішим, ніж fdisk або hdparm, оскільки вони надають лише відповідну інформацію (просто помножте на 512). Однак для цього також знадобиться судо.
Можна, звичайно, змінити конфігурацію sudo таким чином, що вона дозволяє виконувати цю конкретну команду, не запитуючи пароль (я думаю, blockdev --getsz
це досить безпечно, навіть коли виконується звичайним непривілейованим користувачем).
Це можна зробити, додавши наступний рядок до /etc/sudoers
:
ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*
Редагуючи цей файл, обов'язково використовуйте команду, sudo visudo
а не звичайний редактор. В іншому випадку зробити синтаксичну помилку дуже просто, що призведе до того, що більше не можна використовувати sudo (вам доведеться перезавантажитись у режимі порятунку, щоб виправити це).
df
неточне, якщо на диску є нерозподілений простір, не всі розділи встановлені (наприклад, деякі розділи Windows на одному диску) або деякі розділи не монтуються безпосередньо, а опосередковано через RAID, LVM або LUKS (шифрування). Також буде пропущено розділ (и) заміни. Тому я не рекомендую використовуватиdf
для з'ясування розміру жорсткого диска.