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


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가독성 을 위해 옵션 을 사용하고 싶습니다 . 모두 du와 sort필요가합니다 -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.