2014-12-10 2 views
2

RHEL (Redhat Enterprise Linux) v6.5 (산티아고) 서버가 있습니다. 이 서버에는 df -help을 사용하면 사용할 수있는 옵션 목록이 있습니다. --total 그러나 RHEL (v5.5)의 이전 버전이 있습니다. 여기에는 --total 옵션이 없습니다.RHEL 릴리스 5.5 (Tikanga), df - total 옵션

내 질문은

,이 같은 명령이 있습니다

62G 
39G 
21G 
66% 

62G is Total size of the Disk 
39G is Used 
21G is remaining 
61% Total usage % 

위의 명령과 출력을 제공

df -h --total | grep total | awk 'NR==1{print$2}+NR==1{print$3}+NR==1{print$4}+NR==1{print$5}' 

RHEL에서 잘 작동 v6.5. 그러나 RHEL v5.5에서는 df 명령에 대해 --total 옵션이 없기 때문에 실패합니다.

Total Disk Space 
Used Space 
Remaining Disk space 
Usage % 
:

df: unrecognized option `--total' 
Try `df --help' for more information. 

그래서 나에게 다음과 같은 방법으로 출력을 줄 수있는 명령이 : 내가 RHEL 버전 5.5에서 동일한 명령을 실행하면

나는 아래의 오류

예 :

62G 
39G 
21G 
66% 

답변

3

직접 계산해야합니다.

awk 스크립트와 같은 것이 작동해야합니다.

$ cat dftotal.awk 
BEGIN { 
    map[0] = "K" 
    map[1] = "M" 
    map[2] = "G" 
    map[3] = "T" 
} 
function fmt(val, c) { 
    c=0 
    while (val > 1024) { 
     c++ 
     val = val/1024 
    } 
    return val map[c] 
} 

{ 
    for (i=2;i<5;i++) { 
     sum[i]+=$i 
    } 
} 

END { 
    print fmt(sum[2]) ORS fmt(sum[3]) ORS fmt(sum[4]) 
    print ((sum[3]/sum[2]) * 100) "%" 
} 
$ df -P | awk -f dftotal.awk 
+0

감사합니다. 하지만 -p 옵션이 있는지 확인 하시겠습니까? 나는 5.5 버전이나 6.5 버전을 가지고 있지 않다. – Bhaskara

+0

'-P' /'--portability'는'-p'가 아니다. –

+0

죄송합니다. 내 실수. 제발 신경 쓰지 마. 여기서 언급 한 코드는 스크립트 파일이어야합니까? 죄송합니다. 질문이 너무 명확한 경우 – Bhaskara