df 명령어: 디스크 사용량 확인과 -h, -T, -i 옵션

df 명령어는 마운트된 파일 시스템마다 전체 크기와 사용량, 남은 공간, 사용률을 한 줄씩 출력하는 리눅스 명령어입니다. AlmaLinux 9 서버와 Debian 12 서버에서 df에 -h, -T, -i, --output, -x 옵션을 하나씩 붙여 출력을 비교한 결과, 디스크 용량은 Use% 칸으로, 파일 개수 한도는 df -i의 IUse% 칸으로 나눠 확인하게 되었습니다.
AlmaLinux 9.8 서버의 출력은 장치 이름과 디스크 크기, 메모리 크기에 따라 정해지는 tmpfs의 크기와 사용량을 서로 맞는 예시 값으로 바꿨고, 그 서버에만 있는 마운트 줄은 뺐습니다. 명령에 적은 폴더 경로도 예시 값이며, Debian 12 서버의 출력은 그대로 옮겼습니다.
1️⃣ 리눅스 df 명령어 사용법
기본 꼴은 [df 옵션 파일]입니다. 파일을 적지 않으면 마운트된 파일 시스템을 모두 출력하고, 옵션이 없으면 크기를 1,024바이트 블록 수로 나타냅니다.
dfFilesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1890316 0 1890316 0% /dev
tmpfs 1921072 0 1921072 0% /dev/shm
tmpfs 768432 17104 751328 3% /run
efivarfs 128 4 120 4% /sys/firmware/efi/efivars
/dev/sda4 52403180 10265000 42138180 20% /
/dev/sda3 983040 319488 663552 33% /boot
/dev/sda2 204580 7116 197464 4% /boot/efi
tmpfs 384212 4 384208 1% /run/user/0출력은 여섯 칸이며, 칸마다 내용은 아래 표와 같습니다.
| 칸 | 내용 |
|---|---|
| Filesystem | 장치 이름이나 파일 시스템 이름(tmpfs 등) |
| 1K-blocks | 전체 크기(1,024바이트 블록 수) · -h를 붙이면 Size |
| Used | 사용한 크기 |
| Available | 남은 크기 · -h를 붙이면 Avail |
| Use% | 사용률 · Used ÷ (Used + Available)을 올림 |
| Mounted on | 마운트 지점(파일 시스템이 연결된 폴더) |
장치를 폴더에 연결하는 작업이 디스크 마운트이며, 부팅 때마다 자동으로 연결하려면 /etc/fstab에 적어 둡니다.
AlmaLinux 9.8 서버의 출력에서 줄마다 계산해 보니, Use%는 Used를 Used와 Available의 합으로 나눈 값을 올림한 숫자와 같았습니다. 위 출력의 루트(/)는 10265000을 52403180으로 나눈 19.6%가 20%로 나왔습니다.
df는 coreutils 패키지에 들어 있습니다. 버전은 [df --version]의 첫 줄로 확인했고, AlmaLinux 9.8 서버는 coreutils 8.32, Debian 12 서버는 9.1이었습니다.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ df -h 옵션
-h는 크기를 1,024 단위로 묶고 K, M, G를 붙여 출력합니다.
df -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0루트(/)의 1K 블록 52403180은 50G로, 사용한 10265000은 9.8G로 바뀌었습니다. 숫자는 올림한 값이며, 10 미만은 9.8G처럼 소수점 한 자리까지, 10 이상은 50G처럼 정수로 나왔습니다.
-H는 1,024 대신 1,000 단위로 묶습니다.
df -HFilesystem Size Used Avail Use% Mounted on
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 787M 18M 770M 3% /run
efivarfs 132k 3.9k 123k 4% /sys/firmware/efi/efivars
/dev/sda4 54G 11G 44G 20% /
/dev/sda3 1.1G 328M 680M 33% /boot
/dev/sda2 210M 7.3M 203M 4% /boot/efi
tmpfs 394M 4.1k 394M 1% /run/user/0같은 루트가 -H에서는 54G로 나와 -h보다 숫자가 커졌고, 킬로 단위는 132k처럼 소문자 k로 바뀌었습니다.
파일이나 폴더를 적으면 그 경로가 들어 있는 파일 시스템 한 줄만 출력합니다.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work는 루트(/)에 들어 있는 폴더라 /dev/sda4 줄이 나왔습니다. 폴더마다 차지한 크기는 du 명령어로 합산합니다.
Debian 12 서버의 일반 계정에서 홈 폴더(~)를 적자 /dev/vda2 한 줄이 나왔고, 사용률은 52%였습니다.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T 파일 시스템 형식
-T는 Filesystem 다음에 Type 칸을 더해 파일 시스템 형식을 출력합니다.
df -hTFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0디스크 파티션인 /dev/sda4와 /dev/sda3은 xfs, /boot/efi는 vfat이었습니다. tmpfs와 devtmpfs는 디스크 대신 메모리를 사용하는 파일 시스템입니다.
Debian 12 서버의 루트는 ext4였습니다.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t는 적은 형식만 남기고, -x는 적은 형식을 빼고 출력합니다.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot-t xfs로 실행하자 xfs인 두 줄만 남았습니다.
df -x tmpfs -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi-x tmpfs는 tmpfs 세 줄을 뺐고, 이름이 비슷한 devtmpfs는 그대로 남았습니다. 형식 이름이 정확히 같은 줄만 빠지므로, devtmpfs까지 빼려면 -x를 한 번 더 적습니다.
df -x tmpfs -x devtmpfs -hFilesystem Size Used Avail Use% Mounted on
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi4️⃣ df -i inode 사용량
inode는 파일과 폴더마다 하나씩 사용되는 관리 정보입니다. -i는 크기 대신 inode 개수를 출력합니다.
df -iFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 472579 377 472202 1% /dev
tmpfs 480268 2 480266 1% /dev/shm
tmpfs 819200 645 818555 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 26201024 98214 26102810 1% /
/dev/sda3 524288 362 523926 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 96053 21 96032 1% /run/user/0Inodes는 만들 수 있는 전체 개수, IUsed는 사용한 개수, IFree는 남은 개수, IUse%는 사용률입니다. vfat인 /boot/efi와 efivarfs는 inode 개수가 0이라 IUse%가 -로 나왔습니다.
파일 하나를 만들 때마다 inode가 하나씩 사용되므로, IUse%가 100%가 되면 Use%가 낮아도 새 파일을 만들 수 없습니다. 작은 파일이 많이 쌓이는 서버라면 [df -h]와 [df -i]를 함께 확인합니다.
-h를 함께 붙이자 개수도 K, M 단위로 묶여, 루트의 26201024개가 25M으로 나왔습니다.
df -ihFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 462K 377 462K 1% /dev
tmpfs 470K 2 470K 1% /dev/shm
tmpfs 800K 645 800K 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 25M 96K 25M 1% /
/dev/sda3 512K 362 512K 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 94K 21 94K 1% /run/user/0Debian 12 서버는 inode 6285088개 가운데 188009개를 사용해 IUse%가 3%였습니다.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output 출력 칸 지정
--output은 출력할 칸과 순서를 직접 정합니다. 칸 이름은 쉼표로 이어 적고, 쓸 수 있는 이름은 아래 표의 열두 가지입니다(--help 기준).
| 칸 이름 | 머리글 | 내용 |
|---|---|---|
| source | Filesystem | 장치 이름·파일 시스템 이름 |
| fstype | Type | 파일 시스템 형식 |
| itotal | Inodes | 전체 inode 개수 |
| iused | IUsed | 사용한 inode 개수 |
| iavail | IFree | 남은 inode 개수 |
| ipcent | IUse% | inode 사용률 |
| size | Size | 전체 크기 |
| used | Used | 사용한 크기 |
| avail | Avail | 남은 크기 |
| pcent | Use% | 사용률 |
| file | File | 명령에 적은 파일 이름 |
| target | Mounted on | 마운트 지점 |
df --output=source,fstype,size,used,avail,pcent,target -hFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0일곱 칸을 차례로 적자 [df -hT]와 같은 출력이 나왔습니다.
df --output=target,pcent,avail -hMounted on Use% Avail
/dev 0% 1.9G
/dev/shm 0% 1.9G
/run 3% 734M
/sys/firmware/efi/efivars 4% 120K
/ 20% 41G
/boot 33% 648M
/boot/efi 4% 193M
/run/user/0 1% 376M칸 이름을 target, pcent, avail 순서로 적자 마운트 지점이 맨 앞에 오고, 사용률과 남은 크기가 그 순서대로 이어졌습니다.
--total은 맨 아래에 합계 줄을 더합니다.
df -h --totalFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0
total 56G 11G 46G 19% -total 줄은 위 여덟 줄을 모두 더한 값이라, tmpfs처럼 메모리를 사용하는 파일 시스템까지 합산되었습니다.
🔲 df 명령어 시뮬레이터
아래 시뮬레이터에서 df에 -h, -H, -T, -i, -t, -x, --output, --total을 붙여 실행하고, 옵션마다 출력 칸이 어떻게 바뀌는지 확인할 수 있습니다.
6️⃣ df 명령어 오류
없는 경로를 적자 [No such file or directory]가 나오고 종료 코드 1로 끝났습니다.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directory-t에 서버에 없는 형식을 적으면 출력할 줄이 하나도 남지 않아 [no file systems processed]가 나왔고, 종료 코드는 1이었습니다.
df -t nosuchfsdf: no file systems processed--output에 없는 칸 이름을 적자 그 이름이 오류 문구에 나왔습니다.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.-i나 -T를 --output과 함께 적자 [mutually exclusive]가 나오고 같은 종료 코드 1로 끝났습니다. --output으로 inode나 형식을 보려면 itotal, fstype 같은 칸 이름을 적습니다.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & 추천 콘텐츠
ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.