콘솔을 통해 사용 가능한 디스크 공간을 찾으려고 합니다.
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
효과가있다
[root@tmpe2etstmsdc01 ~]# df -h | awk '$NF == "/" { print $4 }'
492G
이것은 오래되면 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
Use%
여기서는 대신 명령이 제공됩니다 .Avail
[root@ldrnr-tlsmsdc16 ~]# df -h | awk '$NF == "/" { print $4 }'
100%
Avail
어떻게 하면 이 상태 에 들어갈 수 있나요 ?
답변1
노력하다:
stat -fc %a /mountpoint
%a
슈퍼유저가 아닌 사용자가 사용할 수 있는 블록입니다. %f
총 여유 블록 에 사용됩니다 . 또한 이는 %s
블록 크기이므로 사용 가능한 총 바이트 수를 원하는 경우 다음과 같이 말할 수 있습니다.
stat -fc '%f * %s' /mountpoint | bc
보다추가 옵션은 stat(1) 매뉴얼 페이지를 참조하세요.. 일반적으로 stat(1)
구문 분석 가능한 출력보다 사용하기가 더 쉽습니다 df
.
답변2
GNU coreutils를 사용하면 다음 명령을 사용할 수 있습니다.
df -h --output=avail / | sed '1d'
Avail
에 마운트된 파일 시스템에 대한 행만 인쇄합니다 /
. 불행히도 df
헤더 행을 비활성화하는 옵션이 없으므로 sed
첫 번째 행이 제거되었습니다.
답변3
awk를 사용해 볼 수도 있습니다.
df -h|tail -n +2 | awk '{if ($5 == "/")print $3; }'
또는:
df -h|tail -n +2 | awk '{if ($6 == "/") print $4; }'
df 출력에 따라 다릅니다.
답변4
df -h | awk '$NF == "/" { if($1 ~ /^[0-9]/) print $3; else print $4 }'
또는
df -h | awk '$NF == "/" { if($5 == "/") print $3; else print $4 }'