得到输出df
要以 kb 为单位显示数据,您只需使用-k
flag:
df -k
另外,如果您指定文件系统df
,您将获得特定的值,而不是所有值:
df -k /example
关于问题的主体:您想要提取给定文件系统上的可用磁盘空间量。这将需要一些处理。
给定一个正常的df -k
output:
$ df -k /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 7223800 4270396 2586456 63% /
您可以获得Available
(第 4 列)例如awk
or cut
(之前通过管道输送到tr
to squeeze-repeats
(-s
) 对于空格):
$ df -k /tmp | tail -1 | awk '{print $4}'
2586456
$ df -k /tmp | tail -1 | tr -s ' ' | cut -d' ' -f4
2586456
与往常一样,如果要将结果存储在变量中,请使用var=$(command)
语法如下:
$ myUsed=$(df -k /tmp | tail -1 | awk '{print $4}')
$ echo "$myUsed"
2586456
另外,从蒂姆·邦斯评论 https://stackoverflow.com/questions/19703621/get-free-disk-space-with-df-to-just-display-free-space-in-kb/19703644#comment43896106_19703644您可以使用处理长文件系统名称--direct
得到一个-
相反,这样它就不会打印破坏引擎的行:
$ df -k --direct /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
- 7223800 4270396 2586456 63% /