在没有 root 权限的情况下,使用命令行在 Linux 中获取我的硬盘驱动器的总大小?

HVN*_*ing 22 linux hard-drive command-line ubuntu

我正在尝试使用 找出我的硬盘驱动器的总大小df -h,但它会打印每个分区的大小并需要sudo.

有没有办法使用命令行获取我的硬盘驱动器的总大小,而无需 root 权限?

Sir*_*rex 15

一个hacky方法是sudo通过读取系统日志来绕过需要:

dmesg | grep blocks
Run Code Online (Sandbox Code Playgroud)

请注意,这可能并不理想,因此您的里程可能会有所不同...


Sea*_*ony 11

如果您想要以字节为单位的大小,并且只需要例如脚本的值:

lsblk -b --output SIZE -n -d /dev/sdX
12220202
Run Code Online (Sandbox Code Playgroud)

-b:以字节为单位输出。
-n:没有标题。我们只想要纯数值。
--output SIZE:仅打印大小列。
-d /dev/sdXn:我们想知道大小的设备。X 是例如 d,对于磁盘 d 的第一个分区,n 是例如 1。

好处:

  • 不需要root权限
  • 不需要 grep
  • lsblk 在大多数 Linux 系统上可用


小智 6

cat /sys/block/sda/size
Run Code Online (Sandbox Code Playgroud)

但大小是基于块的单位
在这里找到了这个答案。
其他解决方案在这里

或者你可以尝试U盘

udisks --show-info /dev/sda | egrep "^[[:space:]]*size" | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)