通过命令df
,我可以得到类似的东西:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 197844228 15578648 180242500 8% /
devtmpfs 4101368 0 4101368 0% /dev
tmpfs 820648 292 820356 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1693720 4 1693716 1% /run/shm
如果我只想保留180242500记录的编号/
并将其存储在文件中(如disk-space-available.txt
)
如果我使用df >> disk-space-available.txt
它将存储所有内容,而我只想要该文件中的原始数字。
例如,如果有这样的东西,那么它正在工作:
df -OUTPUT=raw-available-number
180242500
我能做些什么?
答案1
来自df
GNU coreutils 的:
$> df --output=avail /
Avail
12345
$> df --output=avail / | grep -v Avail
12345
答案2
您可以使用轻松过滤awk
,检查最后一个字段是否相等/
,然后打印相应的4th
字段:
df | awk '$NF == "/" { print $4 }' >> output
或者:
df / | awk 'NR == 2 { print $4 }' >> output
答案3
如果您没有 GNU 版本的“df”,则可以使用“stat”来获取可用块的数量和大小。
stat --file-system --format="%f %S" /
然后您可以将它们相乘以获得可用字节。
(stat=$(stat --file-system --format="%f %S" /) && echo $(( ${stat/ /*} )))
您可以选择将其转换为人类可读的格式numfmt --to=iec
。