使用df获得可用磁盘空间以仅显示kb中的可用空间吗?
我正在尝试输出文件系统上的可用磁盘空间量/example
。
如果我运行该命令df -k /example
,则可以通过以人为本并实际查看它来获得有关可用磁盘空间(以kb为单位)的良好信息。
我需要获取这些数据,并在我的shell脚本中的其他地方使用它。我最初考虑使用,cut
但后来我的脚本无法移植到其他磁盘上,因为可用磁盘空间会发生变化,剪切将不会产生准确的结果。
如何仅获得示例的可用磁盘空间(以kb为单位)的输出?
回答:
要获取df
以kb为单位显示数据的输出,您只需要使用-k
标志:
df -k
另外,如果您将文件系统指定为df
,则将获取特定的值,而不是所有的值:
df -k /example
关于您的问题的主体:您想提取给定文件系统上的可用磁盘空间量。这将需要一些处理。
给定正常df -k
输出:
$ df -k /tmpFilesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 7223800 4270396 2586456 63% /
例如,您可以Available
使用awk
或来获取(第4列)cut
(以前用空格将其tr
传递到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
另外,从Tim Bunce的评论中,您可以使用--direct
get来处理长文件系统名称-
,这样它就不会打印出破坏引擎的行:
$ df -k --direct /tmpFilesystem 1K-blocks Used Available Use% Mounted on
- 7223800 4270396 2586456 63% /
以上是 使用df获得可用磁盘空间以仅显示kb中的可用空间吗? 的全部内容, 来源链接: utcz.com/qa/408555.html