du 명령과 함께 --exclude 사용


66

이것은 아마도 기본적인 것일 수도 있지만 작동시킬 수는 없습니다. 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/*'

하지만 알아낼 수 없습니다. 특정 디렉토리를 어떻게 제외합니까?


username: store$ du -ch --exclude=./uploads상점 디렉토리 내에서 (와일드 카드 유무에 관계없이) 일했습니다. 상점 폴더 내에서 해당 명령을 정확하게 실행하고 있습니까? 그리고 절대 경로가 아닌 상대 경로 여야합니다.
Kevin

답변:


88

당신은 거의 그것을 발견했습니다 :)

du -ch --exclude=./relative/path/to/uploads

참고하지 아니 끝에 별표. 별표는 "업로드"아래의 모든 하위 디렉토리를 생략해야 한다는 것을 의미 하지만 해당 디렉토리에 직접있는 파일은 아닙니다.


4
도트 ( du -sb --exclude=./relative/path/to/uploads)가 있는 이상한 ... 구문이 작동하지 않습니다. 이 작업을 수행합니다du -sb --exclude relative/path/to/uploads
NUX

4
@Nux 아마 당신의 맛 du. 광산 (OSX)는도없는 --exclude대신에 그것을 가지고 -I mask하는 "지정된 마스크와 일치하는 파일과 디렉토리를 무시합니다." 당신의 작업 예제에서 당신은 또한을 생략하고 =, 그것이 du약간 당신의 버전이라고 생각합니다 du.
phatskat

예 [OSX] [1] 버전은 [Linux du] [2]의 훨씬 단순화 된 버전으로 보입니다. [1] : developer.apple.com/library/mac/documentation/Darwin/Reference/… [2] : linux.die.net/man/1/du
Nux

예를 들어 junk_to_ignore 디렉토리를 제외하고 디렉토리를 업로드하는 등의 여러 디렉토리를 제외하려면 어떻게해야합니까?
Kiran K Telukunta

상대 경로에서는 작동하지만 절대 경로에서는 작동하지 않는 이유는 무엇입니까? 매우 이상하다!
Nick

8

여러 디렉토리를 제외하려면 --exclude 플래그를 다시 전달하십시오.

du -ch --exclude=relative/path/to/uploads --exclude other/path/to/exclude

1
당신은 또한 사용du -ch --exclude={relative/path/to/uploads,other/path/to/exclude}
Hajo Thelen

4

가상 파일 시스템을 건너 뛰는 것이 좋습니다.

du -hsx --exclude=/{proc,sys,dev} /*

1

macOS에 있어야하는 경우 다음 명령을 사용하여 GNU Coreutils를 설치하십시오.

brew install coreutils

Coreutils에 의해 설치되는 대부분의 명령 g은 macOS에 BSD 이름이 사전 설치되어 있기 때문에 접두사가 붙습니다 . 그런 다음 다음을 수행 할 수 있습니다.

gdu --exclude=Microsoft /Library/Fonts/
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.