이것은 아마도 기본적인 것이지만 제대로 작동하도록 할 수는 없습니다. DU를 사용하여 특정 디렉터리를 뺀 파일의 전체 크기를 얻으려고 합니다. 이라는 특정 디렉터리를 제외해야 uploads
하지만 이라는 모든 디렉터리를 제외해야 하는 것은 아닙니다 uploads
. 예를 들어 내 파일 구조는 다음과 같습니다.
/store
/uploads
/junk_to_ignore
/more_junk_to_ignore
/user_one
/uploads
/user_two
다음 명령을 실행할 수 있습니다.
du -ch --exclude=uploads*
모든 "업로드" 디렉터리를 뺀 파일 크기를 알려줍니다. 그러나 특정 디렉터리(및 모든 하위 디렉터리)를 제외하려고 하면 실패했습니다. 나는 다음과 같은 변형을 시도했습니다.
du -ch --exclude=./uploads*
du -ch --exclude='/full/path/to/uploads/*'
그러나 그것을 알아낼 수없는 것 같습니다. 특정 디렉토리를 제외하는 방법은 무엇입니까?
답변1
거의 다 찾으셨어요 :)
du -ch --exclude=./relative/path/to/uploads
노트아니요별표는 맨 끝에 있습니다. 별표는 모두를 나타냅니다"업로드" 아래의 하위 디렉터리생략해야 합니다. 하지만 해당 디렉토리에 직접 있는 파일은 생략할 수 있습니다.
답변2
여러 디렉터리를 제외하려면 --exclude 플래그를 다시 전달하면 됩니다.
du -ch --exclude=relative/path/to/uploads --exclude other/path/to/exclude
답변3
좋습니다. 가상 파일 시스템을 건너뛰려면 다음을 수행하십시오.
du -hsx --exclude=/{proc,sys,dev,run} /*
답변4
macOS를 사용해야 하는 경우 다음 명령을 사용하여 GNU Coreutils를 설치하십시오.
brew install coreutils
Coreutils에서 설치한 대부분의 명령에는 g
macOS에 동일한 이름의 BSD 명령이 사전 설치되어 있으므로 접두사가 붙습니다. 그런 다음 다음을 수행할 수 있습니다.
gdu --exclude=Microsoft /Library/Fonts/