df 명령어란?
df는 “disk free”의 줄임말로, 시스템에 마운트된 파일시스템의 디스크 사용량과 남은 공간을 보여주는 명령어임. 서버를 관리하다 보면 “디스크 용량이 부족해서 서비스가 안 된다”는 상황을 자주 겪게 되는데, 이럴 때 가장 먼저 사용하는 명령어가 바로 df임.
윈도우에서 드라이브 속성을 보면 나오는 “사용된 공간”과 “남은 공간” 정보를 리눅스에서 명령어로 확인하는 것이라고 생각하면 됨.
기본 사용법
df
그냥 df만 입력하면 현재 마운트된 모든 파일시스템의 용량 정보가 표시됨. 하지만 기본 출력은 바이트 단위로 나와서 사람이 읽기 어려움.
df -h: 가장 많이 쓰는 조합
df -h
df 명령어를 쓸때 이 옵션을 가장 많이 쓸거임 -h 옵션은 “human-readable”의 줄임말로, 파일 크기를 사람이 읽기 쉽게 KB, MB, GB, TB 단위로 변환해서 보여줌.
예시 출력:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 12G 7.2G 63% /
/dev/sda2 100G 45G 50G 48% /home
tmpfs 2.0G 0 2.0G 0% /dev/shm
이 출력에서 중요하게 봐야 할 것들:
- Use%: 사용률이 80% 이상이면 주의, 90% 이상이면 위험 신호
- Avail: 실제로 사용 가능한 남은 공간
- Mounted on: 해당 파일시스템이 마운트된 경로
주요 옵션들
| 옵션 | 설명 | 예시 |
|---|---|---|
-h | 사람이 읽기 쉬운 형태로 표시 (KB, MB, GB) | df -h |
-H | 1000 단위로 계산 (기본은 1024 단위) | df -H |
-T | 파일시스템 타입 표시 | df -hT |
-i | 아이노드 사용량 표시 | df -hi |
-x | 특정 파일시스템 타입 제외 | df -x tmpfs |
-t | 특정 파일시스템 타입만 표시 | df -t ext4 |
-a | 모든 파일시스템 표시 (가상 파일시스템 포함) | df -ha |
-l | 로컬 파일시스템만 표시 | df -hl |
--total | 전체 합계 표시 | df -h --total |
실무에서 자주 쓰는 조합
기본 점검
df -h
일일 서버 점검할 때 가장 먼저 실행하는 명령어임. 각 파티션의 사용량을 한눈에 파악할 수 있음.
파일시스템 타입 확인
df -hT
어떤 파일시스템(ext4, xfs, btrfs 등)을 사용하고 있는지 함께 보고 싶을 때 사용함.
아이노드 사용량 확인
df -hi
디스크 용량은 남았는데 파일을 생성할 수 없다면 아이노드가 부족한 경우일 수 있음. 이때 아이노드 사용량을 확인해야 함.
로컬 파일시스템만 보기
df -hl
NFS나 원격 마운트는 제외하고 로컬 디스크만 확인하고 싶을 때 사용함.
전체 요약 정보
df -h --total
마지막에 전체 디스크 사용량 합계가 표시됨. 서버 전체 용량 현황을 파악할 때 유용함.
df 출력 결과 해석하기
df -h 출력의 각 컬럼 의미:
| 컬럼 | 의미 | 설명 |
|---|---|---|
| Filesystem | 파일시스템 | 장치명 또는 파일시스템 이름 |
| Size | 전체 크기 | 파일시스템의 총 용량 |
| Used | 사용 중 | 현재 사용하고 있는 용량 |
| Avail | 사용 가능 | 실제로 사용할 수 있는 남은 용량 |
| Use% | 사용률 | 전체 대비 사용 중인 비율 |
| Mounted on | 마운트 지점 | 파일시스템이 마운트된 디렉토리 |
주의할 점
Used + Avail ≠ Size인 경우가 있음. 이는 파일시스템이 루트용으로 예약해둔 공간(보통 5%) 때문임.
실무 활용 시나리오
디스크 용량 경고 상황
df -h | grep -E "(8[0-9]%|9[0-9]%|100%)"
사용률이 80% 이상인 파티션만 필터링해서 확인할 수 있음.
특정 디렉토리 용량 확인
df -h /var/log
특정 디렉토리가 어느 파일시스템에 속하는지, 그 파일시스템의 용량 상태는 어떤지 확인할 때 사용함.
용량 모니터링 스크립트
df -h | awk '$5 > 80 {print "Warning: " $1 " is " $5 " full"}'
사용률이 80%를 넘는 파일시스템에 대해 경고 메시지를 출력함.
df vs du 차이점
많은 사람들이 헷갈려하는 부분임:
| 명령어 | 용도 | 특징 |
|---|---|---|
df | 파일시스템 전체 용량 확인 | 빠름, 전체적인 용량 상태 파악 |
du | 특정 디렉토리/파일 용량 확인 | 느림, 세부적인 용량 분석 |
디스크 용량이 부족할 때는 df로 전체 상황을 파악한 다음, du로 어느 디렉토리가 용량을 많이 차지하는지 찾아가는 순서가 일반적임.
주의사항 및 팁
예약 공간 고려
리눅스 파일시스템은 루트 사용자를 위해 일정 공간(보통 5%)을 예약해둠. 따라서 일반 사용자는 100% 사용할 수 없음.
삭제된 파일 주의
프로세스가 사용 중인 파일을 삭제하면 du에서는 보이지 않지만 df에서는 여전히 사용 중으로 표시됨. 이런 경우 해당 프로세스를 재시작해야 공간이 해제됨.