du 명령과 함께 --exclude 사용

du 명령과 함께 --exclude 사용

이것은 아마도 기본적인 것이지만 제대로 작동하도록 할 수는 없습니다. 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에서 설치한 대부분의 명령에는 gmacOS에 동일한 이름의 BSD 명령이 사전 설치되어 있으므로 접두사가 붙습니다. 그런 다음 다음을 수행할 수 있습니다.

gdu --exclude=Microsoft /Library/Fonts/

관련 정보