디렉터리에 있는 모든(숨김 및 숨김 해제) 폴더의 크기를 비재귀적으로 측정하는 방법은 무엇입니까?

디렉터리에 있는 모든(숨김 및 숨김 해제) 폴더의 크기를 비재귀적으로 측정하는 방법은 무엇입니까?

somedir두 개의 하위 디렉토리 .hiddenDirnotHidden.

비재귀적으로 크기를 측정하고 싶습니다.모두somedir의 하위 디렉토리

유닉스에서는 어떻게 할 수 있나요?


내가 원하는 사진:

여기에 이미지 설명을 입력하세요

실패한 시도:

다음 du기반 명령은 표시되는 디렉터리만 반환합니다.

du -sh *

하는 동안

du -sh .*

숨겨진 디렉토리만 반환합니다.


크기를 어떻게 반환합니까?모두그림과 같은 디렉토리가 있나요?

답변1

GNU를 사용하면 du:

du -hd1

(또한 .하위 디렉터리에 대해 보고된 디스크 사용량과 현재 디렉터리에 있는 디렉터리가 아닌 파일의 합계가 되는 디스크 사용량도 보고합니다.)

zsh다음과 함께 du:

du -sk -- *(/D)

(키비바이트 단위).

어떤 경우든 깊이 이하 디렉터리의 디스크 사용량과 그 내용은 보고되지 않지만 2해당 디스크 사용량은 여전히 ​​최상위 디렉터리에 대해 보고된 디스크 사용량에 포함됩니다(즉,~이다재귀).

그것은 다음의 잠재적인 의미 중 하나입니다.크기디렉토리의. 즉, 이는 해당 디렉터리와 그 내용이 제거될 경우 회수될 디스크 공간입니다(파일에 해당 디렉터리 외부에 하드 링크가 없고 해당 데이터가 외부의 다른 파일에서 (아마도 부분적으로) 참조되지 않는다고 가정) 해당 디렉터리), 일반적으로 ls -l.

답변2

Du는 여러 인수를 취합니다. 실제로 *는 du에 제공되기 전에 쉘에 의해 확장됩니다. 이것이 당신이 해야 할 전부입니다.

du -sh * .??*

주의할 점은 이름이 로 지정된 파일이나 디렉터리 .와 단일 문자가 누락된다는 것입니다(예: 이라는 디렉터리) .a.

.??*현재 및 상위 디렉토리를 연결하는 .및 를 건너뛰는 데 사용됩니다 ...

관련 정보