Nat*_*man 3 command-line size partition block-device
我需要能够确定块特殊文件的大小。
例如,给定/dev/sda
,我需要一个命令来提供设备的大小。(我说的大小是指容量,因为这是一个存储设备。)
理由:
我可以通过以下方式在设备中存储信息:
echo "12345" >/dev/sda # 需要以 root 身份运行
(顺便说一句,不要运行该命令......除非你不关心你的数据。)
但是,我需要知道我可以在设备上存储多少数据,但我不知道该怎么做。
blockdev
提供了一种设置/获取块设备属性的方法。要获取以字节为单位的大小:
blockdev --getsize64 /dev/sda
Run Code Online (Sandbox Code Playgroud)
或者,一些信息在/sys/block/<device>
目录下可用,例如cat /sys/block/sda/size
给出以 512 字节块为单位测量的 sda 大小。请参阅/sys/block/sda/sda1/size
sda1 分区大小。
对于以 KiB 为单位的 sda 大小
echo $[ $(cat /sys/block/sda/size) / 2 ]
Run Code Online (Sandbox Code Playgroud)
以字节为单位的 sda 大小
echo $[ $(cat /sys/block/sda/size) * 512 ]
Run Code Online (Sandbox Code Playgroud)