디렉토리에 저장된 금액을 재귀 적으로 찾는 방법은 무엇입니까?


136

ll또는 로 긴 목록을 만들 때 파일의 바이트 크기를 볼 수 있다는 것을 알고 있습니다 ls -l. 그러나 나는 그 디렉토리 내의 파일과 그 안의 서브 디렉토리 등을 포함하여 디렉토리에 얼마나 많은 스토리지가 있는지 알고 싶다. 나는 파일의 수를 원하지 않고 대신 그 파일이 차지하는 스토리지의 양을 원한다.

그래서 특정 디렉토리에 얼마나 많은 스토리지가 재귀 적으로 있는지 알고 싶습니다. 명령이 있으면 바이트 단위 일 것이라고 추측합니다.

답변:


146

이것을 시도하십시오 :

du -s dir

또는

du -sh dir

-h지원이 필요 하며 OS에 따라 다릅니다.

보다

man du

2
-b바이트 단위로 출력에 추가
pcnate

4
--all 모든 파일을 나열하고 -h는 사람이 읽을 수있는 형식으로 파일 크기를 표시합니다. du -h --all
Praneeth

29

당신은 단지 :

du -sh /path/to/directory

여기서 -s위한 요약-h위해 사람이 읽을 수있는 ( 비표준 옵션).

조심 하지만, 달리 ls,이 것 없는 당신이 보여 크기의 파일디스크 사용량 (즉, 파일 시스템의 블록 크기의 배수), 그러나 당신이 사용할 수 있도록 파일이 작은, 또는 더 큰 수 있습니다 --apparent-size옵션 :

du -sh --apparent-size /path/to/directory

필요한 경우 네트워크를 통해 전송 될 크기입니다.

실제로 파일에 "구멍"이 있거나 (빈 쉘) 파일 시스템 블록 크기보다 작거나 파일 시스템 수준에서 압축 될 수 있습니다. 맨 페이지에서이를 설명 합니다.

으로 니클라스는 지적 , 당신은 또한 사용할 수 있습니다 ncdu디스크 사용량 분석기를. 디렉토리 내에서 시작하면 디스크 공간을 사용하는 폴더와 파일을 가장 크거나 작은 순서로 표시하여 표시합니다.

이 질문 도 볼 수 있습니다 .


19

디렉토리 내의 모든 {sub} 폴더 크기를 알고 싶다면 -d또는 --max-depth옵션을 사용할 수도 있습니다 du(인수 : 재귀 한계).

예를 들면 :

du -h /path/to/directory -d 1

당신에게 뭔가를 보여줄 것입니다

4.0K /path/to/directory/folder1
16M  /path/to/directory/folder2
2.4G /path/to/directory/folder3
68M  /path/to/directory/folder4
8G   /path/to/directory/folder5

추신 : 0재귀 제한으로 입력 하는 것은 -s옵션 과 같습니다 . 이 두 명령은 동일한 결과를 제공합니다 (주어진 디렉토리 재귀 인간이 읽을 수있는 크기).

du -h /path/to/directory -d 0
du -sh /path/to/directory

-d 1디렉토리 경로 앞에 있어야 함
Abhinav Singi

필요하십니까? 우분투 / 데비안에서 디렉토리 경로 다음에 나를 위해 작동합니다. 전에는 더
좋지만

14

이미 언급 한 du명령 의 대안 ncdu은 터미널에서 사용하기에 적합한 디스크 사용량 분석기입니다. 먼저 설치해야하지만 대부분의 패키지 리포지토리에서 사용할 수 있습니다.

편집 : 출력 형식은 다음 스크린 샷을 참조하십시오 http://dev.yorhel.nl/ncdu/scr


기적! 이를 통해 많은 디스크 크기 스토리지를 보유하고있는 폴더를 확인할 수 있습니다. 또한 신비하게 사라진 모든 파일을 찾았습니다. 훌륭한 도구입니다.
파론

11

폴더 (재귀) 및 파일을 포함하여 현재 디렉토리의 크기 목록을 제공합니다.

$ du -hs *
7.5M    Applications
9.7M    Desktop
 85M    Documents
 16K    Downloads
 12G    Google Drive
 52G    Library
342M    Movies
8.3M    Music
780M    Pictures
8.5G    Projects
8.0K    Public
 16K    client1.txt

3
크기별로 주문 : du -hs * | 종류 -hs
Kaiser

3

유닉스에서 디렉토리는 파일 시스템 객체 (디렉토리, 파일 또는 기타 이국적인 것들을 참조 할 수있는 파일)에 대한 이름과 참조 만 포함합니다. 파일은 동일한 디렉토리에서 여러 이름으로 나타나거나 여러 디렉토리에 나열 될 수 있습니다. 따라서 파일이 "내부"가 아니기 때문에 "디렉토리 및 내부 파일이 사용하는 공간"은 실제로 의미가 없습니다.

즉,이 명령 du(1)은 디렉토리가 사용하는 공간과 디렉토리를 통해 도달 할 수있는 모든 것을 나열하고 du -s요약을 제공하며 -hGNU와 같은 일부 구현에서는 du"사람이 읽을 수있는"출력 (킬로바이트, 메가 바이트)을 제공합니다.


1

나를 위해 그것은 OS X El Capitán의 깊이와 경로의 경우 거꾸로 일했습니다.

du -h -d 1 /path/to/directory

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