본문 바로가기

디렉터리 및 파일 크기 조회 도구 du

기술적인 이야기/터미널 및 셸 2020. 10. 27.
반응형

du는 시스템에서 각 디렉터리와 파일의 용량이 얼마인지 알려주는 *NIX용 유틸리티입니다. 이 글은 du의 간단한 사용법을 정리합니다.

du를 아래처럼 별 다른 옵션 그냥 실행시키면 현재 디렉터리 안에 있는 모든 파일과 디렉터리를 재귀적으로 순회하며 각각의 크기를 콘솔에 목록으로 표시합니다.

du

다만 표시되는 사이즈는 일반적으로 쓰는 단위가 아닌 블록(block) 단위이기 때문에 직관적이지 않습니다.

du는 좀 더 직관적인 사이즈를 볼 수 있도록 별도의 옵션을 제공합니다.

  • -k: Kilo Bytes 단위로 표시(1 Kilo Bytes = 1024 Bytes)
  • -m: Mega Bytes 단위로 표시(1 Mega Bytes = 1024 Kilo Bytes)
  • -g: Giga Bytes 단위로 표시(1 Giga Bytes = 1024 Mega Bytes)
  • -h: 읽기 편한(Human Readable) 단위로 자동 출력

1000 단위가 아니라 1024 단위임에 주의합시다. 여기서 -h 옵션은 단위가 크기에 따라 바뀌기 때문에 sort 등으로 정렬하기에 부적절합니다. 따라서 그 이외의 단위로 쓰는 편이 좋습니다.

즉 아래 커맨드는 현재 디렉터리 아래의 모든 파일과 디렉터리를 재귀적으로 순회하며 각각의 크기를 킬로바이트 단위로 표시합니다.

du -k

현재 디렉터리 아래의 모든 내용물의 전체 크기는 -s 옵션으로 볼 수 있습니다. 아래 커맨드는 현재 디렉터리의 내용물의 총합을 킬로바이트 단위로 출력합니다.

du -sk

만약 현재 디렉터리의 각 파일이나 디렉터리의 크기를 알고 싶지만 더 깊게 재귀까지 자세히 보여줄 필요가 없다면 위 명령을 와일드카드로 실행시키는 방법이 있습니다.

du -sk *

위 명령을 sort와 조합하면 현재 디렉터리에서 어떤 파일이나 디렉터리가 내용물 사이즈가 큰지 정렬할 수 있습니다.

du -sk * | sort -nr

개인 컴퓨터의 /usr/local 아래에서 시험해 본 내용

위 커맨드는 현재 디렉터리 안의 모든 파일과 디렉터리의 사이즈를 내림차순으로 정렬해서 표시해줍니다. sort 커맨드의 -nr 옵션은 수치 비교(-n, numberic)로 역순(-r, reversed) 정렬하라는 의미입니다.

728x90
반응형

댓글