我正在尝试通过控制台查找可用磁盘空间
我发现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这种状态?
尝试:
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可解析的输出相比,使用起来更容易。