가장 큰 디렉토리 또는 가장 큰 파일을 찾는 방법은 무엇입니까? [복제]


33

이 질문에는 이미 답변이 있습니다.

Linux에서 디렉토리 아래에 가장 큰 파일 및 / 또는 가장 큰 디렉토리를 나열하는 명령을 찾고 있습니다.


내가 찾은 가장 유용한 도구는 xdiskusage ( xdiskusage.sourceforge.net ) 파일의 크기를 그래픽으로 표시합니다. 훌륭한 도구! (그리고 그것은 X11과 직접 작동합니다)
jcoppens

주제를 벗어난 주제로 마감 된 일부 질문과 어떻게 중복됩니까? 이해가되지 않습니다.
kenorb

답변:


17

모든 디렉토리에서 :

du -a | sort -n -r


1
이것은 개별 파일을 보여 주지만, 디렉토리에 대한 질문도 있습니다
knocte

인수없이 du는 디렉토리 별 디스크 사용량을 요약합니다. du with -a는 동일한 디렉토리 정보를 생성하며 개별 파일의 디스크 사용량도 포함합니다.
Brent Worden

공간이 부족하면 정렬을 실행할 수 없습니다 : = (
Jonathan Henson

28

다음 명령은 한 수준의 디렉토리와 크기를 보여줍니다.

du --max-depth = 1 / path | 정렬 -r -k1,1n

그중 하나가 실제로 튀어 나오면 (목록의 마지막 것이으로 인해 가장 큰 것임 sort -r) 해당 디렉토리에서 명령을 다시 실행 한 다음 문제가되는 디렉토리 / 파일을 찾을 때까지 계속 진행하십시오.

원하는 모든 것이 열 개의 가장 큰 파일이라면

/ home -type f -exec du -s {} \;를 찾으십시오. | 정렬 -r -k1,1n | 머리


내가 추가하든 아니든 가장 큰 숫자는 저를 위해 바닥에옵니다 sort -r. 가장 큰 숫자를 얻을 수있는 방법이 있습니까?
squarecandy

정렬하려는 열을 정렬하도록 표시하고 숫자 (영숫자가 아님)임을 표시해야합니다. 그것이 -k1,1rn이하는 일입니다. 기본적으로 정렬은 첫 번째 열에서 영숫자 정렬을 사용합니다.
Marcin

예, 올바르게 정렬되지만 sort또는 포함 여부에 관계없이 낮은 순서에서 높은 숫자까지 오름차순 sort -r입니다. -r이 어떻게 작동하는지 오해하고 있습니까? 큰 문제는 아닌 것 같습니다. 귀하의 예는 매우 유용하며 필요한 정보를 얻었습니다.
squarecandy

2
으로 sort내가 (이 sort (GNU coreutils) 8.13우분투 12.04.3에서) 옵션이 -r작동하지 않는 경우 -n즉시 다음 -k( -k1,1n). 이 옵션 순서는 다음과 같습니다 sort -rnk1,1..
pabouk

27

유틸리티 ncdu는 당신에게 당신이 찾고있는 정보를 제공합니다.

sudo apt-get install ncdu

OS X에서는 Homebrew를 사용하여 설치할 수 있습니다.

brew install ncdu

2
+1 전에는 들어 본 적이 없습니다. Mac에서도 잘 작동했습니다.
Andrew E

이것은 높은 답변 둘 다보다 훨씬 좋은 솔루션입니다.
AlexLordThorsen

이건 정말 놀랍습니다. 다른 모든 답변보다 이것을 제안하십시오!
Allen Gingrich

4

du -sk * | 정렬 -nr | 머리 -1

가장 큰 디렉토리 / 파일이 디렉토리 (KB)로 표시됩니다. 헤드 값을 변경하면 최상위 x 파일 / 디렉토리가 생성됩니다.


2

이 게시물 이 도움 될 것입니다.

cd /path/to/some/where
du -a /var | sort -n -r | head -n 10
du -hsx * | sort -rh | head -10

2

다음 명령은 주어진에서 가장 큰 10 개의 가장 큰 파일을 반환합니다 /path

du -a -h / path | 정렬 -h -r | 머리 -n 10

-h가독성 을 위해 옵션 을 사용하고 싶습니다 . 모두 dusort필요가합니다 -h.


1

용도

ls -A | xargs -I artifact du -ms artifact | sort -nr

선택적으로 파이프를 추가하고 사용할 수 있습니다 head -5


0

du를 사용하십시오. 결과를 주문하려면 다음을 시도하십시오.

du | sort -n

0

다음의 한 줄짜리 파일을 사용해보십시오 (현재 디렉토리에서 가장 큰 20 개의 파일을 표시합니다).

ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20

또는 사람이 읽을 수있는 크기로 :

ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20

제대로 OSX / BSD에 작업에 두 번째 명령은 (등 sort이없는 -h), 당신은 설치해야합니다 sort에서 coreutils.

따라서 이러한 별칭은 rc 파일에 필요할 때마다 (필요할 때마다) 유용합니다 .

alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'

-5
du -sh /path * | sort -nr | grep G

더 작은 GIG 파일 / 디렉토리에 대한 G


모든 파일과 폴더가 나열되고 크기가 표시됩니다. 표시된대로 GREP하지 않으면 K, M 또는 G의 바이트 단위로 크기를 정렬하지 않습니다.
Canadian Luke REINSTATE MONICA

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