Получить общий размер моего жесткого диска в Linux с помощью командной строки без прав root?

Я пытаюсь узнать общий размер моего жесткого диска с помощью df -h , но он печатает размер каждого раздела и требует sudo код>.

Есть ли способ получить общий размер моего жесткого диска с помощью командной строки, не требуя разрешения root?


Хакерский способ — это обойти необходимость в sudo , прочитав системный журнал с помощью:

  dmesg |  блоки grep  

Обратите внимание, что это может быть не идеально, поэтому ваш опыт может отличаться …


Если вам нужен размер в байтах и ​​только значение, например для сценариев:

  lsblk -b --output SIZE -n -d/dev/sdX12220202  

-b : вывод в байтах.
-n : без заголовков. Нам нужно только чистое числовое значение.
— output SIZE : печатать только столбец размера.
-d/dev/sdXn : устройство, размер которого мы хотим узнать. X — например, d, n равно 1 для первого раздела диска d.

Преимущества:

  • привилегии root не нужны
  • grep не нужен
  • lsblk доступен в большинстве систем Linux

1


Если вы хотите использовать эту информацию в сценарии, например, используя

  sudo blockdev --getsz/dev/sda  

может быть проще, чем fdisk или hdparm, поскольку он дает вам только соответствующую информацию (просто умножьте на 512) . Однако для этого также потребуется sudo.

Вы, конечно, можете изменить конфигурацию sudo так, чтобы она позволяла выполнять эту конкретную команду, не запрашивая пароль (я думаю, blockdev - -getsz довольно безопасен даже при выполнении обычным непривилегированным пользователем).

Это можно сделать, добавив следующую строку в /etc/sudoers :

  ВСЕ ВСЕ = NOPASSWD:/sbin/blockdev --getsz/dev/*  

При редактировании этот файл, обязательно используйте команду sudo visudo , а не ваш обычный редактор. В противном случае очень легко допустить синтаксическую ошибку, которая приведет к невозможности больше использовать sudo (вам придется перезагрузиться в режиме восстановления, чтобы исправить это).

1


  cat/sys/block/sda/size  

Но размер указан в блоках
Я нашел этот ответ здесь.
Другие решения здесь.

Или вы можете попробовать

  udisks --show-info/dev/sda |  egrep "^ [[: space:]] * size" |  awk '{print $ 2}'  


Я сейчас не на своем Linux-компьютере, но вы можете попробовать:

  hdparm -I/dev/sda  

или

  fdisk -l  

, что также, вероятно, потребует sudo.

Я нигде не видел, чтобы df требовал root. Странно.

3


У вас либо плохая установка, либо абсурдно параноидальный сисадмин. Я никогда не слышал о том, чтобы для df требовались привилегии root. И я работал с довольно большим количеством различных разновидностей unix/unix-подобных операционных систем.

Так или иначе, это даст вам общий размер всех разделов диска (сначала df столбец: /dev/hd ... или /dev/sd ... ) в блоках (кБ):

  df |  grep '^/dev/[hs] d' |  awk '{s + = $ 2} END {print s}'  

или в ГБ:

  df |  grep '^/dev/[hs] d' |  awk '{s + = $ 2} END {print s/1048576}'  

1


Проверка дискового пространства в Gnome и Kubuntu

Disk Usage Analyzer — это приложение с графическим меню, которое сообщает об использовании диска в средах Gnome и Kubuntu. DUA (Disk Usage Analyzer) может сканировать все дерево файловой системы или отдельные каталоги, как локальные, так и удаленные. DUA также является динамическим, так как он будет сообщать в реальном времени обо всех подключенных и отключенных устройствах.

Чтобы получить доступ к анализатору использования диска в Gnome, щелкните по: Applications Accessories Disk Usage Analyzerits that simple .

Оцените статью
motary.ru
Добавить комментарий