使用df获得可用磁盘空间以仅显示kb中的可用空间吗?

我正在尝试输出文件系统上的可用磁盘空间量/example

如果我运行该命令df -k /example,则可以通过以人为本并实际查看它来获得有关可用磁盘空间(以kb为单位)的良好信息。

我需要获取这些数据,并在我的shell脚本中的其他地方使用它。我最初考虑使用,cut但后来我的脚本无法移植到其他磁盘上,因为可用磁盘空间会发生变化,剪切将不会产生准确的结果。

如何仅获得示例的可用磁盘空间(以kb为单位)的输出?

回答:

要获取df以kb为单位显示数据的输出,您只需要使用-k标志:

df -k

另外,如果您将文件系统指定为df,则将获取特定的值,而不是所有的值:

df -k /example


关于您的问题的主体:您想提取给定文件系统上的可用磁盘空间量。这将需要一些处理。

给定正常df -k输出:

$ df -k /tmp

Filesystem 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的评论中,您可以使用--directget来处理长文件系统名称-,这样它就不会打印出破坏引擎的行:

$ df -k --direct /tmp

Filesystem 1K-blocks Used Available Use% Mounted on

- 7223800 4270396 2586456 63% /

以上是 使用df获得可用磁盘空间以仅显示kb中的可用空间吗? 的全部内容, 来源链接: utcz.com/qa/408555.html

回到顶部