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 / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

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

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

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

리눅스 파일 시스템의 트리 구조와 절대·상대 경로를 이해하고, /home·/etc·/var 등 주요 디렉터리의 역할과 경로를 읽는 방법을 익힙니다.

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

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

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux pacman 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / nc - TCP·UDP 연결과 포트 점검

Linux / 명령어 / nc - TCP·UDP 연결과 포트 점검

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

Linux / 명령어 / wc - 줄·단어·문자 수 계산

Linux / 명령어 / wc - 줄·단어·문자 수 계산

Linux wc 명령어로 줄·단어·바이트·문자 수를 확인하는 방법을 설명합니다. 개행 기준의 줄 수, -c와 -m 차이, 여러 파일 합계와 안전한 파이프 활용 예제를 정리합니다.

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

리눅스 파일과 디렉터리의 읽기·쓰기·실행 권한을 해석하고 chmod로 실습 파일의 권한을 바꿉니다. sudo의 사용 범위와 권한 오류를 진단하는 순서도 설명합니다.

Linux / 명령어 / diff - 텍스트 파일과 디렉터리 차이 비교

Linux / 명령어 / diff - 텍스트 파일과 디렉터리 차이 비교

Linux diff 명령어로 텍스트 파일과 디렉터리의 차이를 비교하는 방법을 설명합니다. unified 형식, 재귀 비교, 공백 무시와 종료 상태를 정리합니다.

Linux / 명령어 / lscpu - CPU 아키텍처와 코어 정보 확인

Linux / 명령어 / lscpu - CPU 아키텍처와 코어 정보 확인

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

Linux / 명령어 / locate - 파일 이름 색인에서 빠르게 경로 검색

Linux / 명령어 / locate - 파일 이름 색인에서 빠르게 경로 검색

Linux locate 명령어로 파일 이름 색인을 빠르게 검색하는 방법을 설명합니다. updatedb, 최신성 한계, 패턴과 정규 표현식, find와의 차이를 정리합니다.