当文件系统很长时如何使用“df -h”获取磁盘空间(Avail)

Ven*_*esh 3 awk

我正在尝试通过控制台查找可用磁盘空间

我发现df -h | awk '$NF == "/" { print $4 }'获得了所需的输出。

[root@tmpe2etstmsdc01 ~]# df -h
Filesystem                                                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root                                542G   22G  492G   5% /
tmpfs                                                      127G     0  127G   0% /dev/shm
Run Code Online (Sandbox Code Playgroud)

可用性

[root@tmpe2etstmsdc01 ~]# df -h | awk '$NF == "/" { print $4 }'
492G
Run Code Online (Sandbox Code Playgroud)

Use%Filesystem很长的时候给出了价值

[root@ldrnr-tlsmsdc16 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                   16G   16G     0 100% /
tmpfs             1.9G     0  1.9G   0% /dev/shm
Run Code Online (Sandbox Code Playgroud)

在这里,命令给出Use%而不是Avail

[root@ldrnr-tlsmsdc16 ~]# df -h | awk '$NF == "/" { print $4 }'
100%
Run Code Online (Sandbox Code Playgroud)

我怎样才能进入Avail这种状态?

use*_*445 5

尝试:

stat -fc %a /mountpoint
Run Code Online (Sandbox Code Playgroud)

%a是非超级用户可用的块。使用%f总空闲块。还要注意这%s是块大小,所以如果你想要,比如说,总可用字节数,你可以这样说:

stat -fc '%f * %s' /mountpoint | bc
Run Code Online (Sandbox Code Playgroud)

有关更多选项,请参见stat(1) 手册页。一般来说stat(1),与df可解析的输出相比,使用起来更容易。