티스토리 뷰

두 숫자는 무엇을 세는지부터 다릅니다

Linux에서 df는 사용량이 큰데 du로 찾은 폴더는 작게 보일 수 있습니다. 두 숫자를 곧바로 오류라고 판단하기 전에 같은 파일시스템과 같은 경로를 비교하고 있는지 확인해야 합니다. df는 파일시스템의 공간 정보를, du는 탐색한 파일과 디렉터리의 사용량을 보여 주므로 관찰 범위가 다를 수 있습니다.

이 글은 GNU 계열 도구를 쓰는 Linux를 대상으로 합니다. Solaris나 다른 구현에서는 옵션과 표시 단위가 다를 수 있습니다. 명령은 조회 목적이며 파일 삭제, 프로세스 종료 또는 서비스 재시작을 권하지 않습니다. 예시 경로는 현재 작업 폴더로 두어 광범위한 탐색을 피합니다.

범위와 단위를 맞추어 조회합니다

pwd
df -h .
du -x -h --max-depth=1 .

df의 출력에서 현재 경로가 속한 파일시스템과 마운트 위치를 확인합니다. du의 -x는 다른 파일시스템으로 넘어가는 탐색을 제한하고, --max-depth=1은 요약 표시 깊이를 정합니다. 표시 깊이를 줄여도 내부 파일을 읽는 탐색 비용이 사라지는 것은 아닙니다. 큰 폴더에서 실행할 때 부하와 접근 권한을 고려합니다.

사람이 읽기 쉬운 반올림 단위 때문에 숫자가 조금 달라 보일 수도 있습니다. 정확한 바이트 비교가 필요하면 단위를 맞추어 재조회하고, du가 권한 오류를 냈는지도 확인합니다. 접근하지 못한 경로가 있는 du 결과를 전체 합계라고 쓰지 않습니다.

큰 차이가 날 때 확인할 후보

교육용 상황으로 df는 80GB 사용, 현재 폴더 du는 5GB라고 가정합니다. 현재 폴더가 파일시스템 전체를 대표하지 않으면 이 차이는 자연스럽습니다. 같은 파일시스템 안의 다른 폴더, 접근 불가 항목, 스냅샷과 파일시스템 메타데이터 등 구현별 요소를 검토합니다. 이 수치는 실제 측정이 아닌 설명용입니다.

삭제됐지만 프로세스가 계속 열고 있는 파일도 차이의 후보입니다. 이 경우 디렉터리 탐색에서 보이지 않는 공간이 계속 사용될 수 있습니다. 열린 파일 조사 도구를 사용할 권한과 시스템 부하를 먼저 확인하고, 해당 프로세스를 무작정 종료하지 않습니다. 확인한 PID와 파일 정보는 내부 조사 기록에만 보관합니다.

탐색 범위를 늘리기 전의 질문

가상 상황에서 현재 폴더의 du가 작게 나왔다면 상위 경로를 무작정 모두 읽기 전에 현재 파일시스템의 마운트 위치를 확인합니다. 마운트 지점 아래에 실제 업무 폴더가 여러 개라면 담당자가 허용한 범위별 요약을 수집하는 방식을 검토할 수 있습니다. 접근하지 않은 폴더는 제외했다고 명시합니다.

du가 Permission denied를 출력했는데 표준 출력 숫자만 저장하면 부분 결과를 전체로 오해할 수 있습니다. 오류 출력도 내부 기록으로 남기고 읽기 실패가 있는지 확인하세요. 공간 정리 요청서에는 총사용량과 함께 조사 범위·읽기 오류·변경 후보를 적어야 삭제 조치를 결정할 근거가 분명해집니다.

조사 기록과 다음 행동

확인 경로: 연습 폴더
파일시스템·마운트: df 결과에서 확인
표시 단위: 일치 여부
du 읽기 오류: 있음/없음/미확인
차이 후보: 범위, 권한, 열린 파일, 구현별 요소
조치: 확인 후 별도 승인

차이가 있다고 곧바로 파일을 삭제하면 업무 자료 손실과 원인 증거 소실이 함께 발생할 수 있습니다. 먼저 무엇을 비교했는지 표에 적고, 삭제나 보존 기간 변경은 담당자와 논의합니다. 용량 경고와 정리 정책은 조회 결과와 별도 결정입니다.

오늘은 작은 연습 폴더에서 df와 du를 실행하고 각 출력이 어떤 범위를 나타내는지 한 문장으로 적어 보세요. 이 문장을 쓰기 어려우면 정리 작업보다 비교 범위를 먼저 확인해야 합니다. Linux 호스트에서 본 실습을 직접 실행한 결과는 이 글에 포함하지 않았습니다.

공식 자료와 확인 범위

기술 자료 확인일: 2026년 10월 12일. 교육용 자료는 실제 기관·고객의 기록이 아닙니다.

GNU Coreutils: df 사용법

GNU Coreutils FAQ: df와 du 차이