df와 du는 리눅스 시스템에서 디스크 사용량을 확인하는 데 사용되는 명령어입니다. 그러나 두 명령의 작동 방식과 출력 정보에는 차이가 있습니다.
1. df 명령어 (disk free, 디스크 사용량 확인)
리눅스 시스템 전체의 마운트된 디스크 사용량을 확인할 수 있는 명령어 입니다.
외부저장 장치인 USB 메모리나 SD 카드의 저장 공간도 여기서 확인할 수 있습니다.
이 명령의 작동 방식은 파일 시스템의 슈퍼블록을 읽어 각 파일 시스템의 총 디스크 공간, 사용된 공간, 여유 공간, 사용률 등을 계산하는 것입니다. 슈퍼블록은 파일 시스템의 메타데이터를 포함하는 특수 블록을 말합니다.
명령어 사용법은 다음과 같습니다.
developern@dn:~$ df
파일 시스템 1K-블록 사용 가용 사용% 마운트위치
tmpfs 400104 1564 398540 1% /run
/dev/sda3 25106692 19116416 4689592 81% /
tmpfs 2000504 0 2000504 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
/dev/sda2 524252 6220 518032 2% /boot/efi
vm-Linux 2930134012 2629417376 300716636 90% /media/sf_vm-Linux
tmpfs 400100 116 399984 1% /run/user/1000
옵션 없이 df명령을 사용하면 용량이 K bite 단위로 출력이 되기 때문에 보기가 불편합니다. 이럴 경우 -h 옵션을 사용하면
메가 (M), 기가 (G) bite 단위로 출력되어 보기가 쉽습니다.
developern@dn:~$ df -h
파일 시스템 크기 사용 가용 사용% 마운트위치
tmpfs 391M 1.6M 390M 1% /run
/dev/sda3 24G 19G 4.5G 81% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 512M 6.1M 506M 2% /boot/efi
vm-Linux 2.8T 2.5T 287G 90% /media/sf_vm-Linux
tmpfs 391M 116K 391M 1% /run/user/1000
디스크를 지정하면 지정한 디스크의 정보만 출력됩니다.
developern@dn:~$ df -h /dev/sda2
파일 시스템 크기 사용 가용 사용% 마운트위치
/dev/sda2 512M 6.1M 506M 2% /boot/efi
[ 출력 정보 ]
파일 시스템 이름 (Filesystem)
파일 시스템 유형 (Type)
총 디스크 공간 (Size)
사용된 공간 (Used)
여유 공간 (Available)
사용률 (Use%)
탑재 지점 (Mounted on)
2. du 명령어 (disk usage, 디렉토리 또는 디스크 사용량 확인)
특정 디렉토리의 디스크 사용량을 확인할때 사용하는 명령어로, 서브 디렉토리의 디스크 사용량도 표시됩니다.
디렉토리 이름을 지정하지 않으면 현재 디렉토리를 기준으로 디스크 사용량을 출력합니다. 이 명령의 작동 방식은 각 디렉토리를 직접 스캔하여 실제 사용하는 디스크 사용량을 계산합니다. 명령어 사용법은 다음과 같습니다.
developern@dn:~$ du
4 ./비디오
8 ./.vim
4 ./템플릿
8 ./project/php
16 ./project
12 ./.gnupg
4 ./음악
df 명령과 마찬가지로 -h 옵션을 사용하면 K, M, G bite 단위로 확인할 수 있습니다.
developern@dn:~$ du -h
4.0K ./비디오
8.0K ./.vim
4.0K ./템플릿
8.0K ./project/php
16K ./project
12K ./.gnupg
4.0K ./음악
특정 디렉토리를 지정하면 해당 디렉토리의 사용량만 확인할 수 있습니다.
developern@dn:~$ du -h /boot
du: '/boot/efi' 디렉터리를 읽을 수 없음: 허가 거부
4.0K /boot/efi
3.5M /boot/grub/x86_64-efi
264K /boot/grub/locale
2.3M /boot/grub/fonts
2.5M /boot/grub/i386-pc
11M /boot/grub
189M /boot
위와 같이 root권한이 필요한 디렉토리가 있을 경우는 sudo를 함께 사용하면 됩니다.
developern@dn:~$ sudo du -h /boot
[sudo] developern 암호:
4.3M /boot/efi/EFI/ubuntu
1.9M /boot/efi/EFI/BOOT
6.1M /boot/efi/EFI
6.1M /boot/efi
3.5M /boot/grub/x86_64-efi
264K /boot/grub/locale
2.3M /boot/grub/fonts
2.5M /boot/grub/i386-pc
11M /boot/grub
195M /boot
3. df와 du 명령의 차이점
구분
df
du
작동 방식
슈퍼블록을 읽어 계산
파일과 디렉토리를 직접 스캔
출력 정보
파일 시스템 전체의 사용 공간
특정 디렉토리 또는 파일의 사용 공간
장점
빠르고 효율적
정확하고 상세
단점
슈퍼블록의 정보가 오래되었을 경우 정확하지 않을 수 있음
시간이 오래 걸릴 수 있음
더 많은 옵션을 확인하려면 df --help 명령을 사용하면 됩니다.
리눅스 디스크 사용량 확인 명령어 df, du