[linux] 디스크 사용량 정보 얻기

리눅스 콘솔에서 전체 디스크의 사용량 정보는 df 커맨드로 얻습니다.

df를 실행하면 다음처럼 디스크 파티션별 사용량 정보를 보여줍니다.

Filesystem     1K-blocks     Used Available Use% Mounted on
tmpfs             388000     3712    384288   1% /run
/dev/sda2      122981200 11824740 106061300  11% /
tmpfs            1939984        0   1939984   0% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
/dev/sda1         258095   129609    128487  51% /boot/firmware
tmpfs             387996       76    387920   1% /run/user/128
tmpfs             387996       64    387932   1% /run/user/1000

다만 킬로바이트 단위여서 읽기가 다소 어려운 문제가 있습니다. df에는 단위를 보기 쉽도록 환산한 값으로 표현하는 몇 가지 옵션이 있습니다.

-h 옵션

휴먼 리더블(Human Readable) 옵션으로 우리가 사용하는 메가바이트, 기가바이트 단위로 환산해서 보여줍니다. 긴 --human-readable 옵션으로 사용할 수도 있습니다.

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           379M  3.7M  376M   1% /run
/dev/sda2       118G   12G  102G  11% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
/dev/sda1       253M  127M  126M  51% /boot/firmware
tmpfs           379M   76K  379M   1% /run/user/128
tmpfs           379M   64K  379M   1% /run/user/1000

그런데 -h 옵션으로 표시한 화면은 옵션이 없는 처음의 용량 표시와는 다소 차이가 있습니다.

sda2 파티션 용량이 df 결과에서는 123G(122,981,200)로 표시되는데 -h 옵션으로 표시를 하면 118G로 표시가 됩니다.

바이트 단위 크기를 환산하는 기준 단위가 달라서 발생하는 문제로 -h 옵션을 사용하면 1Kbyte = 1024byte, 1Mbyte = 1024Kbyte처럼 2진수를 바이트 계산 방식에 따라 1024로 윗 단위 용량을 환산합니다.

그래서 126G 디스크 용량인 sda2는 118G가 됩니다.

-H 옵션

-h 옵션이 1024로 나누면서 생기는 표기 용량과 실제 용량 표현의 혼동이 있기 때문에 구입할 때 디스크에 표시되는 용량과 일치하도록 1000으로 나눈 환산 결과를 표시하는 대문자 -H옵션이 추가로 있습니다.

-H 옵션을 사용하면 정상적으로 126G로 sda2 파티션이 표현됩니다.

하드웨어 디스크는 128G 드라이브로 sda1과 파티션 정보 등으로 2G가 제외되고 126G가 sda2 파티션이 잡히게 됩니다.

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           398M  3.9M  394M   1% /run
/dev/sda2       126G   13G  109G  11% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.3M  4.1k  5.3M   1% /run/lock
/dev/sda1       265M  133M  132M  51% /boot/firmware
tmpfs           398M   78k  398M   1% /run/user/128
tmpfs           398M   66k  398M   1% /run/user/1000

용량 표현의 차이

순서대로 표시 용량이 작아집니다.

  • -H: 업계 디스크 용량 표시 방법에 따라 1000 단위로 환산을 합니다. 128G로 표시된 디스크는 128G가 됩니다.
  • 옵션 없는 df: 1Kbyte = 1024byte로 환산하고 나머지는 1000으로 환산합니다. 128G로 표시되는 디스크는 125G로 표시됩니다.
  • -h: 2진수 바이트 환산 방식에 따라 1024로 나누기를 합니다. 128G로 표시된 디스크는 119.2G가 됩니다.

전체 디스크 공간, 또는 파티션 공간을 확인할 때는 -H 옵션을 사용해서 확인하고 실제 디스크에서 차지하고 있는 전체 파일의 합을 확인하고 싶으면 -h 옵션을 사용하면 됩니다.