나는 알고 df -h
있지만 pwd
정규식 일치 부분은 약간 복잡해 보입니다. 어떤 아이디어가 있나요?
답변1
이 옵션을 사용하면 출력을 더 쉽게 구문 분석할 수 있으므로 -P
다음이 보장됩니다.
- 각 파일 시스템에 대한 정보는 항상 한 줄에 인쇄됩니다. 마운트된 장치는 별도의 줄에 배치되지 않습니다. 이는 설치 장치 이름이 20자를 초과하는 경우(예: 일부 네트워크 설치의 경우) 열이 잘못 정렬됨을 의미합니다.
이렇게 하면 사용 가능한 여유 공간을 더 쉽게 확보할 수 있습니다.
$ df -Ph . | tail -1 | awk '{print $4}'
( -h
메가바이트, 기가바이트 등과 같은 단위를 사용하십시오. 시스템에 단위가 없으면 -k
킬로바이트를 사용하십시오.)
경로를 전달하면 df
헤더 줄과 경로가 포함된 파일 시스템에 대한 데이터라는 두 줄만 반환됩니다. tail을 사용하여 두 번째 행만 가져올 수 있습니다. 여유 공간이 네 번째 열에 있다는 것을 알고 있으므로 를 사용하여 해당 공간을 얻습니다 awk
. 이 모든 작업은 다음을 통해 수행할 수 있습니다 awk
.
$ df -Ph . | awk 'NR==2 {print $4}'
아니면 다른 여러 그룹필터.
답변2
그것을하는 방법 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% /
답변3
바이트 단위:
df --output=avail -B 1 "$PWD" | tail -n 1
사람이 읽을 수 있는 수준:
df --output=avail -h "$PWD" | tail -n 1
또는
df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --to="iec"
또는
df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --grouping
답변4
당신은 할 수간단히이와 같이:
df -h $PWD | awk 'NR==2{print $4}'
명령 설명:
df
:(disk free)는 호출 사용자에게 적절한 읽기 권한이 있는 파일 시스템의 여유 디스크 공간 크기를 표시하는 데 사용되는 표준 Unix 명령입니다.
-h
: 사람이 읽을 수 있는 형식(예: 메가바이트, 기가바이트 등)으로 출력을 표시합니다.
$PWD
: 현재 디렉터리에서 명령을 호출합니다.
|
: 가장 왼쪽 명령의 출력을 가장 오른쪽 명령에 전달합니다.
awk
:은 프로그래머가 각 입력 파일에서 문자 그대로 prog 또는 -f 파일로 지정된 하나 이상의 파일에 지정된 패턴 집합 중 하나와 일치하는 행을 검색할 수 있게 해주는 유틸리티입니다.
'NR==2
: 헤더 -NR==1- 대신 공백 값을 포함하는 두 번째 줄을 가져옵니다.
'{print $4}': 사용 가능한 공간이 포함된 네 번째 열을 가져옵니다.