df 명령어 사용법

파일시스템별 디스크 공간 사용량을 확인하는 명령어입니다.

파일·디렉터리 관리연결 실습 문제 2개Rocky Linux 8 기준 · 실행 결과는 실습 컨테이너에서 확인

기본 문법

df [옵션] [파일 또는 디렉터리...]

df(disk free)는 마운트된 파일시스템의 전체 용량, 사용량, 남은 용량, 사용률, 마운트 지점을 표 형태로 보여주는 명령어입니다. 아무 인자 없이 실행하면 마운트된 파일시스템 목록이 출력되고, 경로를 인자로 주면 그 경로가 속한 파일시스템 한 줄만 출력됩니다.

디스크가 가득 차서 로그 기록이나 패키지 설치가 실패할 때 상태를 확인하는 데 사용합니다. -h 옵션으로 사람이 읽기 쉬운 단위를 확인하고, -i 옵션으로 용량은 남았는데 파일을 못 만드는 inode 고갈 상황을 구분합니다. 특정 디렉터리가 별도 파일시스템에 있는지, 어떤 파일시스템 타입(xfs, ext4, tmpfs, overlay)인지 확인할 때도 씁니다.

컨테이너 안에서 실행하면 호스트의 물리 디스크가 아니라 컨테이너에 보이는 마운트 구성이 출력됩니다. 예를 들어 루트가 overlay로, /etc/hosts 같은 바인드 마운트가 별도 행으로 나타날 수 있습니다.

리눅스마스터·RHCSA·LPIC 등 자격 시험에서는 df와 du의 차이, -h/-i/-T 옵션의 의미, 루트(/) 파일시스템 사용률 확인 방법이 다루어집니다. 점검 리포트의 ROOT_USAGE 값을 구하거나 경로별 파일시스템 타입을 조사할 때도 사용합니다.

자주 쓰는 옵션

옵션의미
-h, --human-readable1024 단위의 사람이 읽기 쉬운 단위(K, M, G)로 표시df -h
-T, --print-type파일시스템 타입(xfs, ext4, overlay 등) 열을 추가df -T /home
-i, --inodes블록 대신 inode 사용량을 표시df -i /
-a, --all의사(pseudo) 파일시스템과 중복·접근 불가 항목까지 모두 표시df -a
-t, --type=타입지정한 타입의 파일시스템만 표시df -t xfs
-x, --exclude-type=타입지정한 타입의 파일시스템을 제외df -x tmpfs
-P, --portabilityPOSIX 형식으로 한 행을 한 줄에 출력(스크립트 파싱에 유리)df -P /
--output=필드출력할 열을 직접 지정(source, fstype, size, used, avail, pcent, target 등)df --output=source,fstype,pcent /
-B, --block-size=크기지정한 블록 크기 단위로 표시df -BM /
--total마지막에 합계 행을 추가df -h --total

실무 예시

전체 파일시스템 사용량 확인

$ df -h
Filesystem             Size  Used Avail Use% Mounted on
overlay                100G   79G   21G  79% /
tmpfs                   64M     0   64M   0% /dev
tmpfs                  7.7G     0  7.7G   0% /sys/fs/cgroup
shm                     64M     0   64M   0% /dev/shm
/dev/mapper/vg00-lv00  100G   79G   21G  79% /etc/hosts
tmpfs                  7.7G     0  7.7G   0% /proc/acpi
tmpfs                  7.7G     0  7.7G   0% /proc/scsi
tmpfs                  7.7G     0  7.7G   0% /sys/firmware

마운트된 파일시스템의 용량과 사용률을 읽기 쉬운 단위로 확인합니다. 컨테이너 환경이라 루트는 overlay이고, /dev·/sys/fs/cgroup 등은 tmpfs로, /etc/hosts는 호스트에서 바인드 마운트된 행으로 나타납니다.

루트 파일시스템만 확인

$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
overlay         100G   79G   21G  79% /

경로를 인자로 주면 그 경로가 속한 파일시스템 한 줄만 출력됩니다.

파일시스템 타입 함께 보기

준비: mkdir -p /tmp/demo

$ df -T /tmp/demo
Filesystem     Type    1K-blocks     Used Available Use% Mounted on
overlay        overlay 104751104 82740648  22010456  79% /

-T 옵션으로 해당 경로가 어떤 파일시스템 타입 위에 있는지 확인합니다. /tmp/demo는 별도 마운트가 아니므로 루트(overlay) 행이 출력됩니다.

inode 사용량 확인

$ df -i /
Filesystem       Inodes   IUsed    IFree IUse% Mounted on
overlay        45235376 1213496 44021880    3% /

용량은 남았는데 파일 생성이 실패할 때 inode가 고갈됐는지 확인합니다.

스크립트용 사용률 값만 추출

$ df -P / | awk 'NR==2 {print "ROOT_USAGE=" $5}'
ROOT_USAGE=79%

-P로 한 행이 한 줄로 나오는 고정 형식을 만든 뒤 awk로 사용률 열(5번째 필드)만 뽑아 리포트 항목 값으로 씁니다.

경로별 파일시스템 타입 목록 만들기

준비: mkdir -p /tmp/demo; printf '/\n/tmp\n/dev\n' > /tmp/demo/targets.txt

$ while read -r p; do echo "PATH=$p FS=$(df -T "$p" | awk 'NR==2 {print $2}')"; done < /tmp/demo/targets.txt
PATH=/ FS=overlay
PATH=/tmp FS=overlay
PATH=/dev FS=tmpfs

목록 파일의 각 경로에 대해 df -T 결과에서 타입 열만 뽑아 한 줄씩 리포트 형식으로 만듭니다. 셸 변수 PATH를 실제로 덮어쓰지 않도록 echo 안의 문자열로만 사용한 점에 주의하세요.

주의할 점

  • df는 마운트된 파일시스템 단위 사용량이고, 디렉터리별 용량은 du로 확인합니다. 둘을 혼동하지 마세요.
  • 기본 출력 단위는 1K 블록입니다. -h 없이 나온 숫자를 MB로 오해하기 쉽습니다.
  • 장치명이 길면 기본 출력에서 한 항목이 두 줄로 나뉠 수 있습니다. 스크립트로 파싱할 때는 -P나 --output을 쓰세요.
  • 파일을 삭제했는데 여유 공간이 늘지 않으면 프로세스가 그 파일을 열고 있는 경우입니다. 파일 디스크립터가 닫혀야 df 값에 반영되며, lsof 등으로 해당 프로세스를 확인합니다.
  • 컨테이너 안의 df 출력은 호스트의 디스크 구성과 다를 수 있습니다. 호스트 용량은 호스트에서 확인하세요.
  • 루트 파일시스템이 가득 찼을 때 /var, /usr 등 시스템 경로의 파일을 임의로 삭제하면 시스템이 손상될 수 있습니다. 먼저 du로 원인 디렉터리를 찾고, 로그 회전(logrotate)이나 패키지 캐시 정리처럼 안전한 방법을 우선 검토하세요.

이 명령어로 풀 수 있는 실습 문제

브라우저 웹 터미널에서 바로 풀고 요구사항별로 자동 채점됩니다. 로그인 없이 5분 체험도 가능합니다.

관련 명령어

마지막 검수 2026-09-16 · 내용에 오류가 있으면 문제 페이지의 질문 기능으로 알려 주세요.