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

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

ll나는 긴 목록을 사용하거나 수행할 때 파일의 바이트 크기를 볼 수 있다는 것을 알고 있습니다 ls -l. 하지만 디렉터리에 있는 파일과 그 안에 있는 하위 디렉터리 등을 포함하여 디렉터리에 얼마나 많은 저장 공간이 있는지 알고 싶습니다. 파일 수는 필요하지 않지만 해당 파일이 차지하는 저장 용량은 필요합니다.

그러면 특정 디렉토리에 얼마나 많은 저장 공간이 있는지 재귀적으로 알고 싶습니다. 명령이 있으면 바이트 단위가 될 것 같습니다.

답변1

이것을 시도하십시오: (교체dir디렉토리 이름으로)

Du-s  목차

이것은 누적을 제공합니다디스크 사용량(아니요크기) 의 고유한(동일한 파일에 대한 하드 링크는 한 번만 계산됩니다.) 파일(디렉토리를 포함한 모든 유형이지만 실제로는 한 번만 계산됩니다)정기적인그리고목차파일은 디스크 공간을 차지합니다).

du이는 POSIX 호환 구현(환경의 GNU 포함)에서 512바이트 단위로 표현되지만 일부 du구현에서는 킬로바이트 단위를 지정합니다. 킬로바이트를 얻는 것을 보장하는 데 사용됩니다.POSIXLY_CORRECTdu-k

~을 위한크기(아니요디스크 사용량) 바이트 단위, duGNU와 호환되거나 구현됨:

목차

또는 (여전히 표준이 아님):

공작부인목차

사람이 읽을 수 있는 크기(디스크 사용량).

바라보다 man du(여기의 링크는 GNU 구현을 위한 것입니다).

답변2

이렇게 하면 됩니다:

du -sh /path/to/directory

어디에 -s있습니까?일반화하다그리고-h사람이 읽을 수 있는(비표준옵션). 사용기준 -k하지만 KiB를 얻으려면.

조심하세요그러나 ( 와는 다름 ls)이것은 것이다아니요보여줘파일 크기하지만디스크 사용량(즉, 파일 시스템 블록 크기의 배수) 파일 자체는 실제로 더 작을 수도 있고 더 클 수도 있습니다.

그래서파일 크기 가져오기, 다음과 같은 옵션이 있습니다 --apparent-size.

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

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

실제로 파일에 "구멍"(빈 셸)이 있을 수도 있고, 파일 시스템 블록 크기보다 작을 수도 있고, 파일 시스템 수준에서 압축될 수도 있습니다. 매뉴얼 페이지설명하다이것.

~처럼니클라스 지적ncdu, 디스크 사용량 분석기를 사용할 수도 있습니다 . 디렉터리에서 실행하면 어떤 폴더와 파일이 디스크 공간을 사용하고 있는지 가장 큰 것부터 가장 작은 것 순으로 표시됩니다.

너는 볼 수있어이 문제게다가.

답변3

디렉터리 내의 모든 {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재귀 제한으로 입력하는 것은 options 와 동일합니다 -s. 이 두 명령은 동일한 결과를 제공합니다(주어진 디렉터리의 사람이 재귀적으로 읽을 수 있는 크기).

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

답변4

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

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

관련 정보