큰 디렉토리의 크기를 얻는 방법은 무엇입니까?

큰 디렉토리의 크기를 얻는 방법은 무엇입니까?

Linux에서 작은 하위 디렉터리가 많이 포함된 큰 디렉터리의 크기를 얻는 방법은 무엇입니까? 나는 단지 상위 디렉토리의 전체 크기를 원합니다.

를 해봤는데 du -s mydirectory/실행하는데 시간이 오래 걸리고 터미널을 오랫동안 열어둘 수가 없습니다.

디렉터리 크기를 더 빠르게 가져오는 더 빠른 방법이 있습니까, 아니면 터미널을 닫고 나중에 결과를 얻을 수 있도록 백그라운드에서 실행되는 방법이 있습니까?

답변1

답변에 대한 의견에서 nohupMarcus 가 제안한 솔루션 의 경우 에서 출력을 찾을 수 있습니다 . 다음과 같은 적절한 파일로 리디렉션할 수 있습니다.screennohup.out

nohup du -s myfolder > size-of-myfolder.txt &

답변2

screen뒤에서 다음을 사용할 수 있습니다 .

screen -S du -d -m du -s my_dir/

그런 다음 다시 연결하십시오.

screen -r du

답변3

필요에 따라 폴더 크기를 빠르게 추적할 수 있는 솔루션을 찾고 있다면 다음과 같은 몇 가지 옵션이 있습니다.

  • CephFS 파일 시스템은 폴더의 항목에 필요한 스토리지 크기가 아닌 폴더의 "크기"로 폴더 내용(하위 폴더 포함)의 총 디스크 사용량을 표시합니다. ls -Slh가장 큰 파일과 폴더를 찾아 하위 폴더에서 이 작업을 반복하면 됩니다 . CephFS는 머신이 많은 클러스터에 적합합니다. 단일 시스템에서 실행될 수 있지만 설정이 일반 파일 시스템보다 더 복잡합니다.

  • 하위 폴더의 크기에 관심이 없다면 XFS의 프로젝트 할당량 기능을 사용할 수 있습니다. 프로젝트 할당량으로 추적할 프로젝트에 관심 있는 각 폴더를 할당합니다. 그러면 할당량 보고서에 각 프로젝트에서 사용되는 공간이 표시됩니다.

  • 마찬가지로, 추적하려는 각 폴더에 대해 전용 사용자 계정을 만들 수 있는 경우 일반 사용자 할당량을 사용하여 사용량(파일 크기 및 수)을 추적할 수 있습니다. 이는 프로젝트 할당량보다 더 넓은 범위의 파일 시스템에 적용됩니다.

답변4

POSIX또 다른 방법은 쉘에서 창 관리자를 사용하는 것입니다.배경:

{
    size=$(du -s myfolder/ | cut -d' ' -f1)
    size=$((size/1024))
    zenity --info --text="myfolder/ size is ${size}MiB"
} &

바라보다http://mywiki.wooledge.org/ArithmeticExpression

&예를 들어 명령 끝에 제어 연산자를 배치하면 command &셸은 백그라운드에서 명령을 실행합니다 subshell. 쉘은 명령이 완료될 때까지 기다리지 않고 상태 0을 반환합니다. 마지막 백그라운드 명령의 Pid는 특수 변수를 통해 얻을 수 있습니다.$!

관련 정보