* nix에서 모든 공간을 사용중인 것을 찾기


21

모든 하위 디렉토리를 포함하여 특정 디렉토리에서 시작하는 파일이 가장 큰 명령 시퀀스는 무엇입니까? 모든 공간이 어디로 갔는지 알고 싶습니다.

바람직하게는 일반적인 유닉스 명령으로 가능합니다.

가능하면 Sun OS 5.10과의 호환성을 유지하십시오 (대체적인 Linux 응답 외에 대체 가능한 것이 아니라 가능한 일반적인 상태로 유지).


SU에는 2 표, SF에는 2 표가 있습니다. 어느 것이 더 적합합니까? 이것은 내 의견으로는 어느 쪽이든에 속할 수 있습니다.
mmyers

5
@ mmyers : SU에게 주었다 ... SU 진짜 질문이 필요합니다!
Shog9

1
그러나 SU는 이미 매우 비슷한 질문을 가지고 있습니다! superuser.com/questions/9847/…
Jonik

답변:


11

개인적으로 du -sh *각 디렉토리가 현재 디렉토리 내에 얼마나 큰지 확인하고 싶습니다 .

또한 더 큰 폴더를 먼저 갖도록 정렬 할 수 있습니다 du -shx * | sort -hr. 의 경우 du:

  • -s, --summarize: 각 인수에 대한 합계 만 표시
  • -h, --human-readable: 사람이 읽을 수있는 형식의 인쇄 크기 (예 : 1K 234M 2G)
  • -x, --one-file-system: 다른 파일 시스템의 디렉토리를 건너 뜁니다.

의 경우 sort:

  • -h, --human-numeric-sort: 사람이 읽을 수있는 숫자 비교 (예 : 2K 1G)

이것은 실제로 마이너 모드에서 유용합니다 : du -s * | sort -nr.
Alex Budovski

5
로 파일 크기를 사람이 읽을 수있는 형식으로 유지할 수 있습니다 du -sh * | sort -hr.
Jorge Israel Peña

du -shx * | sort -hr좋지만 현재 디렉토리 만 반환합니다. 이 시스템을 어떻게 확장합니까? 그리고 100MB 미만의 모든 것을 어떻게 제외시킬 수 있습니까? 감사.
tem

그것은 쉘에서의 호출에 달려 있습니다. 그래서 *현재 디렉토리에있는 모든 것에 적용한다,하지만 당신은 그냥 간단하게 예에 그것을 바꿀 수있는 것입니다 some/other/path/*, 또는 당신은 단지 전체를 하나의 디렉토리에서 실행하려면, 다음 생략 *글로브 패턴을. 사물을 걸러내는 것에 관해서는 별도의 질문을하십시오.
Jorge Israel Peña

시스템 전체에서 재귀 적으로 실행하려면 find디렉토리 루트에서 페어링 하고 -exec매개 변수를 사용 하여 호출 할 수 du있습니다. find프로그램 자체는 아마 같은과 파일 크기를 기준으로 필터링 할 수 있습니다 size +100M. 이 질문을 참조하십시오 . 아마도 find / -size +100M -exec du -sh {} \; | sort -hr테스트되지는 않았지만와 같은 것일 수 있습니다.
Jorge Israel Peña


5

기본적으로 du 명령을 사용할 수 있습니다. 이 같은

du -a /home | sort -rn |head -1

더 많은 옵션은 man page 또는 info du를 참조하십시오.

또는 GNU find를 사용할 수 있습니다.

find /home/ -type f -printf "%s:%p\n" | sort -t":" -rn| head -1  

Sun OS 5.10의 'find'에는 -printf에 사용할 수있는 대안이 있습니까?
Alex Budovski

또한 디렉토리를 필터링하는 첫 번째 명령 (du ...)을 얻을 수있는 방법이 있습니까? 나는 두 번째 명령과 같은 파일에만 관심이 있습니다.
Alex Budovski

5

커맨드 라인은 아니지만 여전히 유닉스입니다 : kdirstat

나는 그것을 사용하여 모든 공간이 어디로 갔는지 알아 내고 디스크 사용량 분석기 (일명 Baobab)보다 훨씬 좋습니다. 내 그놈 환경에서 허용되는 몇 안되는 KDE 앱 중 하나입니다.

여기에 이미지 설명을 입력하십시오

kdirstat.sourceforge.net에 따르면 Solaris에서 실행됩니다.

KDirStat는 KDE 프로그램이지만 모든 X11 데스크탑에서 제대로 실행됩니다. 즉, Linux, BSD 및 기타 많은 Unix 유형 시스템 (Solaris, HP-UX, AIX 등)에서 실행됩니다.


우분투에서 : k4dirstat 및 qdirstat. 마지막 하나 더 최신. 나는 그들이 폴더를 삭제하는 것을 좋아하지 않는다
develCuy


3
du -a | sort -n

일을 할 것입니다. 사용 바오밥 (그래서 가능성이 이미 시스템에 설치된 그놈 유틸의 그것의 일부를), 당신은 사용 된 공간의 아주 좋은 그래픽 고장을 얻을.


-n 대신 -g를 사용해야하는 이유가 있습니까? "이 옵션은 대안이없는 경우에만 사용하십시오. --numeric-sort (-n)보다 훨씬 느리고 부동 소수점으로 변환 할 때 정보가 손실 될 수 있습니다." gnu.org/software/coreutils/manual/html_node/…
거기서부터

@therefromhere : 맨 페이지를 사용했는데 링크 한 사이트만큼 상세하지 않습니다. 방금 특정 경우에 효과가 있었던 첫 번째 옵션을 선택했습니다. 하지만 당신 말이 맞아요. 답변을 수정했습니다. 감사!
balpha

3

디스크 사용량 분석기

데비안 / 우분투 기반 배포판을 사용하는 경우 리포지토리에서 시냅틱을 사용하여 찾을 수있는 몇 가지 GUI가 있습니다.

여기에 이미지 설명을 입력하십시오


3
du . -ha | sort -hr
  • -a, --all: 쓰기는 디렉토리뿐만 아니라 모든 파일에 적용됩니다.
  • -h, --human-readable: 사람이 읽을 수있는 형식의 인쇄 크기 (예 : 1K 234M 2G)

1
나는 당신이 그 명령을 매우 즐겁게 발음 할 수 있다는 사실을 발견했습니다. 너무 웃긴 것 같습니다.
jtbandes

2
-1, 이것이 잘못되었습니다. du 명령의 "-h"는 정렬을 중단합니다.
거기서부터

1
휴대 전화가 아니라 잘못이 아닙니다. -h는 GNUism입니다. Sun OS와 함께 -k를 사용하십시오.
Ludwig Weinzierl

+ Ludwig 나는 당신이 이해하지 않는다고 생각합니다. -h를 추가하면 숫자를 사람이 읽을 수있게되므로 더 이상 sort 명령에서 사용할 수있는 숫자가 아닙니다. 예를 들면 다음과 같이 정렬됩니다 : "760K 784M 788K 860K 944K 985M" du -ha | sort -hr또는 du -ha | gsort -hr(핵심 유틸리티를 설치 한 후 osx에서)
Gerry

2

자정 사령관

멋진 GUI 및 탐색 옵션으로 목록 출력을 원할 경우 Midnight Commander ( mc대부분의 패키지 관리자에서)를 설치하고 명령 메뉴에서 "show directory size"를 확인하십시오. 또한 당신은 Ctrl+ 할 수 있습니다 space.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.