디스크 공간이 부족합니다 :
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda7 803G 715G 48G 95% /home
전체 홈 디렉토리를 살펴보고 제거 할 대상을 결정하기 위해 공간을 많이 차지하는 상위 10 개의 디렉토리 또는 파일을 찾고 싶습니다.
du -sh *
모든 하위 디렉토리의 크기를 볼 수 있지만 현재 폴더 만 가져옵니다. 내가 필요한 범인이 누구인지 알기 위해 각각 많은 하위 디렉토리로 재귀 적으로 나누어야 할 수도 있습니다.
이를 수행하는 좋은 방법이 있습니까?
답변
GUI를 사용할 수 있다면 Baobab을 사용해보십시오 . 하드 디스크 공간 사용량을 분석하기위한 그래픽 도구입니다.
답변
ncdu 는 디렉토리를 스캔하고 디스크 사용량을 최고에서 최저로 나열하는 명령 행 옵션입니다. 이것을 위해 도구로갑니다.
당신은 여전히 이런 식으로 재귀 적으로 뛰어 들어야하지만, 그것을하는 좋은 쉬운 방법입니다.
답변
이 명령을 사용하십시오 :
t=$(df|awk 'NR!=1{sum+=$2}END{print sum}');du / –exclude /proc –exclude /sys –max-depth=1|sed '$d'|sort -rn -k1 | awk -v t=$t 'OFMT="%d" {M=64; for (a=0;a<$1;a++){if (a>c){c=a}}br=a/c;b=M*br;for(x=0;x<b;x++) {printf "\033[1;31m" "|" "\033[0m"}print " "$2" "(a/t*100)"% total"}'
공간을 가장 많이 소비하는 디렉토리를 백분율로 표시하는 명령 줄에 그래프 종류가 표시됩니다.
분석 만하려면 /home
다음과 같이 명령에서 지정할 수 있습니다.
t=$(df|awk 'NR!=1{sum+=$2}END{print sum}');du /home –exclude /proc –exclude /sys –max-depth=1|sed '$d'|sort -rn -k1 | awk -v t=$t 'OFMT="%d" {M=64; for (a=0;a<$1;a++){if (a>c){c=a}}br=a/c;b=M*br;for(x=0;x<b;x++) {printf "\033[1;31m" "|" "\033[0m"}print " "$2" "(a/t*100)"% total"}'
다음과 같이 보일 것입니다 :
여기 에서 찍은 .
답변
뒤 | 정렬 -rn | 머리
- du = 디스크 사용량
- 숫자 순으로 정렬, 역순
- 첫 번째 열 줄
답변
바오밥 +1 커맨드 라인에서 나는 보통 또는를 사용 du -hcsx *
하고 du -hcsx * | sort -h
(최근 버전의 실패가 필요합니다 sort
) 계속 진행하면서 하위 디렉토리를 확인하십시오.
또한 + 를 mc
눌러 하위 디렉토리 크기를 계산하는 깔끔한 기능이 있습니다 ( + 를 눌러 모든 하위 디렉토리의 크기를 계산 한 다음 메뉴에서 크기별로 정렬을 선택할 수 있음).CtrlSpaceCtrlSpace..