Ste*_*n D 53
通过使用该-P选项可以使输出更容易解析,这将确保:
- 每个文件系统的信息总是打印在一行上;挂载设备永远不会单独放在一条线上。这意味着如果挂载设备名称的长度超过 20 个字符(例如,对于某些网络挂载),则列未对齐。
这使得获得可用空间变得更加容易:
$ df -Ph . | tail -1 | awk '{print $4}'
Run Code Online (Sandbox Code Playgroud)
(-h使用兆字节、千兆字节等。如果您的系统没有它,请-k仅使用千字节。)
如果我们传递df一个路径,它只会返回 2 行:一个标题行,然后是有关包含该路径的文件系统的数据。我们可以使用 tail 来抓取第二行。我们知道可用空间位于第 4 列,因此我们使用awk. 这一切都可以通过awk:
$ df -Ph . | awk 'NR==2 {print $4}'
Run Code Online (Sandbox Code Playgroud)
或许多其他过滤器组。
Chr*_*ian 16
怎么办df -h .。这将为您提供当前工作目录所在分区的可用空间。
一个小例子:
/usr/local/nagios/libexec # df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-lvol1
9.9G 6.1G 3.4G 65% /
Run Code Online (Sandbox Code Playgroud)
以字节为单位:
df --output=avail -B 1 "$PWD" | tail -n 1
Run Code Online (Sandbox Code Playgroud)
人类可读:
df --output=avail -h "$PWD" | tail -n 1
Run Code Online (Sandbox Code Playgroud)
或者
df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --to="iec"
Run Code Online (Sandbox Code Playgroud)
或者
df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --grouping
Run Code Online (Sandbox Code Playgroud)