Linux / 명령어 / df - 파일 시스템의 남은 용량 확인

df는 마운트된 파일 시스템별 전체 크기, 사용량과 남은 공간을 보여 줍니다. 디스크가 가득 찼는지 확인할 때 사용하며, 디렉터리별 용량을 구하는 du와는 범위가 다릅니다.

df 명령어란?

df는 개별 파일을 모두 합산하는 대신 파일 시스템의 공간 통계를 읽습니다. Avail은 일반 사용자가 이용 가능한 공간을 나타내며, 예약 블록 등이 있으면 전체 크기에서 사용량을 뺀 값과 정확히 같지 않을 수 있습니다. 블록 공간이 남았어도 inode가 바닥나면 새 파일을 만들지 못할 수 있습니다.

기본 문법

df [옵션] [파일 또는 마운트 지점]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man df으로 현재 시스템의 설명을 확인하세요.

사용 예제

전체 파일 시스템 용량

사람이 읽기 쉬운 단위로 마운트된 파일 시스템을 확인합니다.

df -h

특정 경로의 파일 시스템

지정한 경로가 속한 파일 시스템의 여유 공간을 확인합니다.

df -h /var

inode 사용량

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

df -i /var

파일시스템 사용률 읽기

df는 파일 한 개의 크기가 아니라 해당 경로가 속한 파일시스템의 공간을 보여줍니다. 루트 경로만 지정하면 관련 마운트 항목으로 범위를 좁힐 수 있습니다.

df -h /

예시 출력(용량과 장치 이름은 환경마다 다름):

Filesystem  Size  Used Avail Use% Mounted on
/dev/sda2    40G   18G   20G  48% /

Avail은 일반 사용자가 쓸 수 있는 공간으로, 파일시스템 예약 블록 때문에 Size - Used와 같지 않을 수 있습니다. df가 꽉 찼는데 파일 크기 합계가 작아 보인다면 삭제됐지만 아직 프로세스가 열고 있는 파일이나 다른 마운트·예약 영역을 점검하세요. 디렉터리별 사용량은 du가 담당합니다.

주요 옵션과 형식

옵션·형식 설명
-h 크기를 사람이 읽기 쉬운 단위로 표시합니다.
-T 파일 시스템 형식을 함께 표시합니다.
-i 블록 대신 inode 사용량을 표시합니다.
-t 형식 지정한 파일 시스템 형식만 표시합니다.
--output=필드 필요한 출력 열을 선택합니다.

사용할 때 주의할 점

네트워크·컨테이너·오버레이 파일 시스템에서는 같은 저장 공간이 여러 행으로 보일 수 있습니다. df와 du 결과가 다르면 삭제됐지만 프로세스가 아직 열고 있는 파일, 예약 블록, 스냅샷 등을 조사하세요. 자동화에서 기본 출력의 열 위치를 고정된 것으로 가정하지 마세요.

자주 묻는 질문

df와 du가 다른 값을 보여 주는 이유는?

df는 파일 시스템의 전체 공간 통계를 보고, du는 접근 가능한 파일·디렉터리의 사용량을 합산합니다. 열린 삭제 파일 등은 두 결과의 차이를 만들 수 있습니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 df 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / ssh - 암호화된 원격 접속과 명령 실행

Linux / 명령어 / ssh - 암호화된 원격 접속과 명령 실행

Linux ssh 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / htop - 대화형 프로세스 목록 탐색

Linux / 명령어 / htop - 대화형 프로세스 목록 탐색

Linux htop 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / mv - 파일 이동과 이름 변경

Linux / 명령어 / mv - 파일 이동과 이름 변경

Linux mv 명령어로 파일과 디렉터리를 이동하거나 이름을 변경하는 방법을 설명합니다. 덮어쓰기 방지, 파일 시스템 간 이동과 안전한 자동화 방법도 정리합니다.

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux which 명령어로 PATH에서 실행 파일 경로를 찾는 방법을 설명합니다. type과 command -v의 차이, 별칭·함수 확인과 스크립트 이식성도 정리합니다.

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

Linux w 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux 강좌 / 표준 입력·출력, 리디렉션과 파이프 이해하기

Linux 강좌 / 표준 입력·출력, 리디렉션과 파이프 이해하기

표준 입력·출력·오류의 차이를 이해하고 파일 리디렉션과 파이프를 실습합니다. 덮어쓰기 위험과 리디렉션 순서도 함께 설명합니다.

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux sudo 명령어로 허용된 명령을 root 또는 다른 사용자 권한으로 실행하는 방법을 설명합니다. 주요 옵션, 인증 캐시, 리디렉션 문제, visudo와 최소 권한 sudoers 설정 원칙을 정리합니다.

Linux / 명령어 / tmux - 터미널 세션 분리·재접속

Linux / 명령어 / tmux - 터미널 세션 분리·재접속

Linux tmux 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux mktemp 명령어로 예측하기 어려운 이름의 임시 파일과 디렉터리를 안전하게 만드는 방법을 설명합니다. 템플릿, TMPDIR, trap을 이용한 정리와 -u 옵션의 위험도 알아봅니다.

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux cmp 명령어로 두 파일을 바이트 단위로 비교하는 방법을 설명합니다. 첫 차이 위치, 조용한 검사, 모든 차이 출력과 종료 상태 활용법을 정리합니다.