오경석의 개발노트

Linux_파일디스크 사용량 관련 명령어(du, df) 본문

소프트웨어, 운영체제/Linux

Linux_파일디스크 사용량 관련 명령어(du, df)

OHSAYU 2024. 9. 18. 20:35

    리눅스 파일디스크 사용량 관련 명령어는 대표적으로 du, df가 있다. 두 명령어의 공통점과 차이점, 각각의 용도를 알아보자. du 명령어는 df 명령어와 함께 리눅스 디스크의 사용량을 점검하고 체크하는 가장 실무적인 기본명령어이다. 차이점은 df 명령어가 파티션(파일시스템) 단위의 디스크 사용량을 점검하는데 주로 사용된다면 du 명령어는 특정 디렉터리 또는 파일을 대상으로 그 용량을 확인하는 명령어다.

 

du

    du(disk usage)는 파일 및 디렉터리 사용량을 측정한다. 명령어를 사용할때 특정 디렉터리를 지정하지 않으면 현재 디렉터리에 있는 디렉터리와 그 하위 디렉터리에 있는 모든 디렉터리의 용량을 재귀적으로 탐색하면서 출력한다. 전체 용량까지 '.'이라는 경로로 가장 하단에 출력한다. 애스터리스크(*)를 사용하면 현재 디렉터리에 있는 디렉터리와 그 하위 디렉터리에 있는 모든 디렉터리, 그리고 파일들의 용량까지 출력한다. 전체 용량은 출력하지 않는다.

    디스크 기본 단위 block 사이즈가 4KB라서 바이트 단위가 0이면 0KB, 0초과 4KB 미만이면 4KB으로 표기되는 등 4KB 단위로 표기된다.

## 특정 디렉터리를 지정하지 않으면 현재 디렉터리에 있는 디렉터리와 그 하위 디렉터리에 있는 모든 디렉터리의 용량을 재귀적으로 탐색하면서 출력. 총 용량도 표시됨
[root@101 directory]# du
4       ./directory3
4       ./directory1/directory1_3
4       ./directory1/directory1_1
4       ./directory1/directory1_2
16      ./directory1
4       ./directory2
28      .

## 애스터리스크(*)를 사용하면 현재 디렉터리에 있는 디렉터리와 그 하위 디렉터리에 있는 모든 디렉터리, 그리고 파일들의 용량까지 출력
[root@101 directory]# du *
4       directory1/directory1_3
4       directory1/directory1_1
4       directory1/directory1_2
16      directory1
4       directory2
4       directory3
0       file1
0       file2
0       file3

 

  주로 사용하는 옵션

## -s, --summarize : 각 인수에 대한 합계만 표시
[root@101 ~]# du -s
52      .

## -h, --human-redable : 사람이 읽기 쉬운 K, M, G 등의 포맷으로 출력
[root@101 ~]# du -h
4.0K    ./.config/procps
8.0K    ./.config
8.0K    ./.ssh
4.0K    ./directory/directory3
4.0K    ./directory/directory1/directory1_3
4.0K    ./directory/directory1/directory1_1
4.0K    ./directory/directory1/directory1_2
16K     ./directory/directory1
4.0K    ./directory/directory2
28K     ./directory
80K     .

## sort : 용량 내림차순, 상단 3개 출력. r(reverse), h(human numeric sort) 옵션을 사용해서 내림차순 및 용량에 따라 정렬
[root@101 ~]# du -h | sort -rh | head -n 3
80K     .
28K     ./directory
16K     ./directory/directory1

## -d, --max-depth=N 옵션을 사용하여 하위 디렉터리 레벨 지정. 아래 명령은 현재 디렉터리의 총 용량만 표시
## du -sh와 같음
[root@101 ~]# du -hd 0
80K     .

## 2> /dev/null 옵션은 오류 메시지를 무시하기 위한 리다이렉션 명령어. 
## 리다이렉션에서 2는 표준 에러(standard error, stderr)를 의미.
## >는 리다이렉션을 뜻하는데, 이는 출력 결과를 파일이나 다른 대상으로 보내는 것을 의미
## /dev/null은 리눅스/유닉스의 "빈 공간"이나 '쓰레기통'을 의미하고, 이쪽에 보내진 데이터는 모두 버려진다.
[root@101 /]# du -h 2> /dev/null | sort -rh | head -n 3
2.2G    .
1.9G    ./usr
1.3G    ./usr/lib

## 1GB 이상만 출력
[root@101 /]# du -h | grep [0-9]G
1.3G    ./usr/lib
1.9G    ./usr
2.2G    .

 

■ df

    df(disk free)는 파일 시스템의 디스크 사용량을 확인할 수 있는 명령어.

df 명령을 사용하면 아래와 같이 파일시스템, 1K-blocks(디스크 용량), 사용량, 미사용량, 사용률, 마운트 지점이 표기된다.

[root@101 /]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                  4947940       0   4947940   0% /dev
tmpfs                     4967344       0   4967344   0% /dev/shm
tmpfs                     4967344    8692   4958652   1% /run
tmpfs                     4967344       0   4967344   0% /sys/fs/cgroup
/dev/mapper/rl-root      19050920 2131240  15926608  12% /
/dev/sda1                  996780  161704    766264  18% /boot
/dev/sda2                  204580       8    204572   1% /boot/efi
/dev/mapper/rl-NetisAPP  28662692       8  27181368   1% /NetisAPP
/dev/mapper/rl-tmp       28662692      44  27181332   1% /tmp
/dev/mapper/rl-NetisDB   17569792  155556  17414236   1% /NetisDB
/dev/mapper/rl-NetisLOG  17569792  155556  17414236   1% /NetisLOG
tmpfs                      993468       0    993468   0% /run/user/0

 

 주로 사용하는 옵션

## -h, --human-redable : 사람이 읽기 쉬운 K, M, G 등의 단위로 표기
[root@101 /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 4.8G     0  4.8G   0% /dev
tmpfs                    4.8G     0  4.8G   0% /dev/shm
tmpfs                    4.8G  8.5M  4.8G   1% /run
tmpfs                    4.8G     0  4.8G   0% /sys/fs/cgroup
/dev/mapper/rl-root       19G  2.1G   16G  12% /
/dev/sda1                974M  158M  749M  18% /boot
/dev/sda2                200M  8.0K  200M   1% /boot/efi
/dev/mapper/rl-NetisAPP   28G  8.0K   26G   1% /NetisAPP
/dev/mapper/rl-tmp        28G   44K   26G   1% /tmp
/dev/mapper/rl-NetisDB    17G  152M   17G   1% /NetisDB
/dev/mapper/rl-NetisLOG   17G  152M   17G   1% /NetisLOG
tmpfs                    971M     0  971M   0% /run/user/0

## -T, --print-type : 파일 시스템 타입을 출력
[root@101 /]# df -T
Filesystem              Type     1K-blocks    Used Available Use% Mounted on
devtmpfs                devtmpfs   4947940       0   4947940   0% /dev
tmpfs                   tmpfs      4967344       0   4967344   0% /dev/shm
tmpfs                   tmpfs      4967344    8692   4958652   1% /run
tmpfs                   tmpfs      4967344       0   4967344   0% /sys/fs/cgroup
/dev/mapper/rl-root     ext4      19050920 2131240  15926608  12% /
/dev/sda1               ext4        996780  161704    766264  18% /boot
/dev/sda2               vfat        204580       8    204572   1% /boot/efi
/dev/mapper/rl-NetisAPP ext4      28662692       8  27181368   1% /NetisAPP
/dev/mapper/rl-tmp      ext4      28662692      44  27181332   1% /tmp
/dev/mapper/rl-NetisDB  xfs       17569792  155556  17414236   1% /NetisDB
/dev/mapper/rl-NetisLOG xfs       17569792  155556  17414236   1% /NetisLOG
tmpfs                   tmpfs       993468       0    993468   0% /run/user/0

## --total : 총계 출력
[root@101 /]# df -h --total
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 4.8G     0  4.8G   0% /dev
tmpfs                    4.8G     0  4.8G   0% /dev/shm
tmpfs                    4.8G  8.5M  4.8G   1% /run
tmpfs                    4.8G     0  4.8G   0% /sys/fs/cgroup
/dev/mapper/rl-root       19G  2.1G   16G  12% /
/dev/sda1                974M  158M  749M  18% /boot
/dev/sda2                200M  8.0K  200M   1% /boot/efi
/dev/mapper/rl-NetisAPP   28G  8.0K   26G   1% /NetisAPP
/dev/mapper/rl-tmp        28G   44K   26G   1% /tmp
/dev/mapper/rl-NetisDB    17G  152M   17G   1% /NetisDB
/dev/mapper/rl-NetisLOG   17G  152M   17G   1% /NetisLOG
tmpfs                    971M     0  971M   0% /run/user/0
total                    128G  2.5G  122G   3% -

 

 

출처 : Rocky Linux release 8.9

출처 : https://www.linux.co.kr/bbs/board.php?bo_table=lecture&wr_id=2353

출처 : https://sailer.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-

%ED%8F%B4%EB%8D%94%EB%B3%84-%EC%9A%A9%EB%9F%89-%ED%99%95%EC%9D%B8du-%EB%AA%85%EB%A0%B9%EC%96%B4

출처 :  https://cloud-allstudy.tistory.com/1600

출처 : https://tifferent.tistory.com/25

 

Comments