Linux에서 디렉토리 크기를 가져오는 방법

Linux에서 디렉토리 크기를 가져오는 방법

2022-05-17 last update

7 minutes reading disk du terminal
ls 를 사용하여 디렉토리 컨텐트를 나열하는 경우
명령을 실행할 때, 디렉터리의 크기가 거의 항상 4096바이트 (4KB) 라는 것을 알 수 있습니다.이것은 디스크에 포함된 내용이 아니라 디렉터리 정보를 저장하는 데 사용되는 공간 크기입니다.디렉터리의 실제 크기를 가져오려면 필요한 명령은 du 이고, 이것은 '디스크 사용률' 의 줄임말이다.

디렉토리 크기 가져오기

du
명령은 지정한 파일이나 디렉터리에 사용할 파일 공간을 표시합니다.지정한 경로가 디렉터리라면 du 이 디렉터리에 있는 모든 하위 디렉터리의 디스크 사용 상황을 정리합니다.경로가 지정되지 않은 경우du 보고서current working directory의 디스크 사용
. 옵션이 없는 상태에서 호출할 때 du 주어진 디렉터리와 각 하위 디렉터리의 디스크 사용 상황을 바이트 단위로 표시합니다.일반적으로 디렉터리가 차지하는 공간을 읽을 수 있는 형식으로 보여 주기를 원합니다.예를 들어 /var 디렉토리의 전체 크기를 가져오려면다음 명령을 실행합니다:
sudo du -sh /var
출력은 다음과 같습니다:
85G	/var
이 명령과 파라미터를 설명합니다:
  • 이 명령은 sudo로 시작합니다. /var 디렉터리의 대다수 파일과 디렉터리는 사용자 소유이기 때문에 보통 사용자가 읽을 수 없습니다.생략된 경우 sudo
    명령을 읽을 수 없습니다(914).
  • du - 지정된 디렉토리의 총 크기만 표시하고 하위 디렉토리의 총 파일 크기는 표시하지 않습니다.
  • s - 읽기 가능한 형식으로 크기h를 인쇄합니다.
  • h - 크기의 디렉토리를 가져올 경로입니다.
  • 첫 번째 레벨 하위 디렉토리의 디스크 사용을 표시하려면 어떻게 해야 합니까?너는 두 가지 선택이 있다.첫 번째는 별표(/var를 사용하여 다음과 같다. 이것은'문장점*으로 시작하지 않는 모든 내용과 일치한다'는 것을 의미한다.. 옵션은 -c 인쇄된 모든 크기의 합계를 알려줍니다.
    sudo du -shc /var/*
    24K	/var/db
    4.0K	/var/empty
    4.0K	/var/games
    77G	/var/lib
    4.0K	/var/local
    0	/var/lock
    3.3G	/var/log
    0	/var/mail
    4.0K	/var/opt
    0	/var/run
    196K	/var/spool
    28K	/var/tmp
    85G	total
    
    1레벨 하위 디렉터리 디스크 사용 상황 보고서를 가져오는 또 다른 방법은 du 옵션을 사용합니다.
    sudo du -h --max-depth=1 /var
    77G	  /var/lib
    24K	  /var/db
    4.0K	/var/empty
    4.0K	/var/local
    4.0K	/var/opt
    196K	/var/spool
    4.0K	/var/games
    3.3G	/var/log
    5.0G	/var/cache
    28K	/var/tmp
    85G	/var
    85G	total
    
    . 기본적으로--max-depth 명령은 디렉터리나 파일에 사용되는 디스크 공간을 표시합니다.디렉토리의 모양새 크기를 찾으려면 du 옵션을 사용합니다.파일의 테이블 크기는 파일에 실제로 포함된 데이터의 양을 나타냅니다.
    sudo du -sh --apparent-size /var
    카탈로그를 SCP로 전송하는 경우
    , Rsync
    , 또는 SFTP
    네트워크를 통해 전송되는 데이터의 양은 파일의 표면적인 크기이다.이것이 바로 디스플레이--apparent-sizedu가 표시되지 않을 때 원본에서 사용하는 디스크 공간 크기가 목표의 크기와 다른 이유입니다.--apparent-size 명령은 다른 파이핑 명령과 함께 사용할 수도 있습니다.예를 들어, 5 인쇄largest directoriesdu 디렉터리에서 /var의 출력을 파이프를 통해 du 명령으로 전송하여 디렉터리 크기에 따라 디렉터리를 정렬한 다음 출력을 파이프를 통해 sort 로 전송할 수 있습니다.
    명령은 처음 5개의 디렉터리만 인쇄합니다.
    sudo du -h /var/ | sort -rh | head -5
    85G	/var/
    77G	/var/lib
    75G	/var/lib/libvirt/images
    75G	/var/lib/libvirt
    5.0G	/var/cache/pacman/pkg
    

    결론

    head 명령으로 디렉터리의 크기를 얻을 수 있습니다.만약 어떤 문제나 의견이 있으면 아래에 메시지를 남겨 주십시오.