디렉토리에서 파일 및 디렉토리의 재귀 파일 크기를 나열하는 방법은 무엇입니까?


50

디렉토리의 모든 파일과 재귀 파일 크기를 어떻게 나열합니까?

---편집하다

나열된 디렉토리의 부모 디렉토리에 '롤업 된'크기를보고 싶습니다. 하위 디렉토리 또는 내용이나 크기를보고 싶지 않습니다.


1
바탕 화면의 폴더를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하는 것과 같이 폴더에있는 모든 파일의 총 크기 (합계)를 보려면?
Pavlos G.

큰 파일을 찾거나 (축소 가능한) 파일 트리를 얻는 데 도움이되는 소프트웨어를 찾고 있습니까?
Lekensteyn

안녕하세요 @Pavlos G-나는 현재 디렉토리에있는 각 디렉토리의 합계를 의미합니다-전체 디렉토리의 합계가 아닙니다.
hawkeye

@JG-내 업데이트 확인 ;-)
Pavlos G.

답변:


53

가장 쉬운 방법은을 입력 ls -l하거나 ls -lh사람이 읽을 수있는 형식 (KB, MB 등)으로 파일 크기를 제공하는 것입니다.

'재귀 적으로'는 모든 후속 폴더를 나열하는 것을 의미합니다. 예 :

/ foo /
/ foo / bar / ....

그런 다음 당신은 또한 매개 변수를 추가해야 R처럼, ls -lR또는ls -lhR

자세한 내용 ls은 다음을 입력하여 찾을 수 있습니다man ls

최신 정보:

Lekensteyn이 제안한 다음 명령은 아마도 작업을 수행합니다.

du -h --max-depth=1 <folder>

-h사람이 읽을 수있는
--apparent-size것은 이미 언급 한대로
--max-depth하위 폴더의 수준이 표시되는 것처럼 크기를 표시하는 또 다른 방법 입니다.


최대 깊이에 무엇을 사용해야합니까? -1?
dylanh724

61
apt-get install ncdu

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

대화식이므로 하위 폴더를 UP, DOWN 및 Enter로 확인하려는 경우에도 대화식입니다.


내가 찾던 것. 대단히 감사합니다!
Mathlight

어쩌면 내가 얻은 가장 놀라운 소프트웨어 추천
SomethingSomething

이것은 승인 된 답변이어야합니다
dvdmn

30

디렉토리와 모든 자식의 전체 크기를 얻으려면

du -hs directory/*

모든 첫 번째 수준 어린이의 재귀 크기에서 그 다음 단계를 원합니다.
hawkeye

1
답변을 편집하겠습니다. du -h directory / *를 사용해야합니다.
Richard Holloway

17

또한 확인하십시오 tree. 기본적으로 설치되지 않지만 리포지토리입니다.

예:

richard@legend:~$ tree Applications/ -s
Applications/
├── [           4096]  AlexFTPS-1.0.2
│   ├── [      31232]  AlexPilotti.FTPS.Client.dll
│   ├── [     274432]  C5.dll
│   ├── [       1457]  C5-License
│   ├── [      35147]  COPYING
│   ├── [       7639]  COPYING.LESSER
│   ├── [         70]  ftps
│   ├── [      28672]  ftps.exe
│   ├── [      98304]  Plossum CommandLine.dll
│   ├── [       1557]  Plossum-License
│   └── [       2560]  README
└── [           4096]  src
    └── [     180849]  AlexFTPS_bin_1.0.2.zip

더 많은 옵션은 매뉴얼 페이지에서 찾을 수 있습니다.


크기가 표시되어야합니까?
hawkeye

JG : -s는 크기를 보여줍니다.
Richard Holloway

1
전체 디렉토리 크기가 아닌 디렉토리 레코드의 크기를 표시합니다.
Steven Lu

-h사람이 읽을 수있는 방식으로 크기를 보여줍니다. 예 :tree -s
Eric Wang

15

터미널 기반 솔루션이 필요하다고 언급하지 않았으므로 baobab aka Disk Usage Analyzer가 목록에서 누락 되었다고 생각 합니다.

기본적으로 우분투에 설치되며 디렉토리 계층을 드릴 다운 할 수있는 멋진 그래픽 UI에서 원하는 것을 정확하게 수행합니다.

크기가있는 디렉토리 목록을 표시하는 것 외에도 파일 시스템 사용량의 링 또는 트리 맵 차트를 표시하는데, 이는 가장 많은 공간을 차지하는 디렉토리를 시각화하는 데 매우 유용합니다.

baobab 디스크 사용량 분석기


7

단말기 용액 은 IS du명령

du --all --human-readable --apparent-size

(단축형 du -ah --apparent-size)

du각 파일 및 디렉토리의 디스크 사용량을 표시합니다. 옵션 설명 :

  • --all, -a-디렉토리뿐만 아니라 파일의 크기도 표시
  • --human-readable, -h- 인간이 읽을 수있는 형식, 예에서 쇼 크기 10K(10 킬로바이트), 10(10 바이트)
  • --apparent-size -디스크에서 사용 된 크기가 아닌 실제 파일 크기를 표시합니다.

방금 첫 번째 수준의 아이들을 원했습니다
hawkeye

2
@hawkeye 1 단계 이용 가능--max-depth=1
nikoskip

4
@nikoskip 좋은 팁! 또한 알고있는 것이 속기이며 --max-depth=1단축 될 수 있습니다 -d1.
Lekensteyn

이 모든 것을 크기의
내림차순

내용을보고 비우는 방법 : / dev / sda5 ext4 430G 381G 27G 94 % / 내 노트북이 1 개월 미만이고 너무 꽉 차서 말이되지 않습니다
kRazzy R

2

이것은 simlink가 관련 될 때 트릭을 수행하는 것 같습니다.

ls -LRlh

주어진 대답은 simlinks (ls -lhR)에 대한 세부 정보를 제공하지 않았으며, 옆에 나열된 숫자는 각 값의 올바른 크기와 일치하지 않았습니다. 내 대답은 정의 된 트리 구조와 정답을 가진 계층 구조를 제공했습니다 ... 또는 다른 반대 의견을 말하고 있습니까?
Mulki

하향 투표가 취소되고 상향 투표되었습니다. 답변을 편집 하고 의견을 적어주십시오 ... 설명을 주셔서 감사합니다. ;-)
Fabby

1

정렬 된 목록을 얻으려면 모든 것을 MB 단위로 정렬하십시오.

du -m * | sort -n

또는 DiskReport 와 같은 도구를 사용 하여 전체 디스크 트리의 보고서를 생성하십시오.


1

또 다른 터미널 솔루션 find(파일 크기, 열 1)

$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1                              
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh

디렉토리 크기는 표시되지 않습니다.
muru
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.