리눅스 디스크 사용량

리눅스 디스크 사용량

/partition을 차지하는 폴더를 찾으려고합니다. Jenkins 디렉토리에 많은 디스크 공간이 들어가는 것을 봅니다.

sudo du -sh /home/jenkins
289G    /home/jenkins

Jenkins 디렉터리 폴더를 확인할 때 가장 큰 폴더는 다음과 같습니다.

sudo du -sh /home/jenkins/*
137G    /home/jenkins/jobs

나머지 폴더는 상대적으로 작으며 수십 개의 K/M.../home/jenkins 아래에 총 50개의 폴더가 있습니다.

이 공간을 "먹은" 사람이 누구인지 어떻게 알 수 있나요?

감사해요

답변1

sudo du -sh /home/jenkins와 의 차이점은 sudo du -sh /home/jenkins/*거의 모든 셸(기본 설정)에서 *숨겨진 파일이나 디렉터리가 포함되지 않는다는 것입니다. Hidden은 마침표로 시작하는 이름을 의미합니다(즉, 하나가 있으면 /home/jenkins/.temp/두 번째에 포함되지 않습니다 du).

따라서 약 289-137=152GiB의 숨겨진 파일이 있는 것 같습니다. 그들이 어디에 있는지 알아내는 가장 쉬운 방법은 다음과 같습니다.

sudo du -m /home/jenkins | sort -nr | less

-swill make 를 제거하면 du모든 것이 있는 하위 디렉토리가 표시되며 이는 원하는 것과 같습니다. 여기에는 숨겨진 항목도 포함됩니다. 여전히 찾을 수 없으면 다음을 추가하세요 -a.

sudo du -am /home/jenkins | sort -nr | less

매우 큰 숨겨진 파일이 있는 경우 개별 파일도 표시됩니다. 실행하는 데 시간이 더 오래 걸릴 수도 있습니다(파일을 추가하면 출력이 크게 확장되는 경우가 많습니다).

그래픽 프런트엔드를 사용할 수도 있습니다. 개인적으로 저는 xdiskusage를 사용합니다(그러나 아마도 제가 항상 xdiskusage를 사용하기 때문일 수도 있습니다).

sudo du -am /home/jenkins | xdiskusage -

답변2

작업 내부를 보려면 다음 명령을 사용하십시오.

du -sm /home/jenkins/jobs/* |sort -nr

-n새로운 명령줄 바로 위에서 역방향, 가장 큰 마지막으로 정렬하고, 숫자 비교를 지정하고, 줄이 현명하게 정렬될 수 있도록 du 출력에 항상 MB를 표시하도록 설정하는 것이 좋습니다 .

-a편집: 누군가 모든 파일(숨겨진 파일 포함)을 계산 하기 위해 추가를 제안했지만 du댓글이 사라졌나요?

답변3

찾기 명령을 사용하십시오.

find /home/jenkins/jobs/ -type f -size +100M -exec ls -lh {} \;

답변4

아마도 다음 세 가지 옵션을 결합하면 원하는 결과를 얻을 수 있을 것입니다.

-s, --summary

각 매개변수의 합계만 표시

-c, --전체

총 생산

-h, --사람이 읽을 수 있음

사람이 읽을 수 있는 형식의 인쇄 크기(예: 1K 234M 2G)

linus@host: / $ sudo du -sch *
9,8M    bin
362M    boot
4,0K    cdrom
12K     dev
32K     docker
170M    etc
9,5G    data
36G     home
0       initrd.img
0       initrd.img.old
2,9G    lib
4,4M    lib64
16K     lost+found
84G     media
12K     mnt
1,1G    opt
du: cannot access ‘proc/6836/task/6836/fd/4’: No such file or directory
du: cannot access ‘proc/6836/task/6836/fdinfo/4’: No such file or directory
du: cannot access ‘proc/6836/fd/4’: No such file or directory
du: cannot access ‘proc/6836/fdinfo/4’: No such file or directory
0       proc
19M     root
du: cannot access ‘run/user/1000/gvfs’: Permission denied
1,7M    run
13M     sbin
4,0K    srv
0       sys
52K     tmp
7,5G    usr
14G     var
0       vmlinuz
0       vmlinuz.old

154G    total  

관련 정보