"du"가 실행되는 순서는 어떻게 결정되나요?

"du"가 실행되는 순서는 어떻게 결정되나요?

안에다른 질문내가 찾다"실행해서는 안되는 디렉토리가 있습니다", 그 다음에"출력에는 완료된 작업과 중단을 일으킨 다음 단계가 무엇인지 알려주어야 합니다.". 그러나 그것이 무엇인지 판단하는 것은 불가능합니다."다음du" 디렉토리를 확인하는 순서를 모르는 경우에는 제외됩니다 .그 순서는 무엇입니까?du --max-depth=1 2>/dev/null이름, 마지막 수정, 마지막 액세스 또는 생성( 의 출력을 검사하여 확인 ) 을 기반으로 하지 않는 것으로 보이며 또는 에 설명 ls --time=[ctime/atime/birth]되어 있지 않습니다.man du여기.

(원래 문제를 해결하는 데 이 정보가 필요하지 않다는 것을 알고 있습니다. du문제의 디렉토리를 찾을 때까지 디렉토리 세트에서 시도해 볼 수 있습니다. 하지만 궁금합니다!)

(지나치게 광범위한 태그에 대해 사과드립니다. 하지만 구체적인 태그가 없으며 du태그 없이 질문을 제출할 수 없습니다.)

답변1

특별한 순서는 없습니다. 기본적으로 무작위인 디렉터리에 나타나는 순서대로 개체를 나열합니다. (이것이 당신이 인용한 댓글이 잘못된 이유입니다. 완료된 항목만 보면 다음에 무슨 일이 일어날지 알 수 없습니다.)

당신이 가질 수 있는 유일한 명령은 존중하는 것뿐이다.뿌리명령줄에서 지정했으므로 이렇게 실행하면 du /home /var/home의 모든 요소가 실행됩니다.무작위 순서로그런 다음 /var의 내용을 인쇄합니다.무작위 순서로.

그리고 실행하는데 큰 문제가 없어야 합니다 /proc.

그러나 특정 디렉터리를 제외하려는 경우 사용할 수 있는 몇 가지 스위치가 있습니다.

       -X, --exclude-from=FILE
              exclude files that match any pattern in FILE

       --exclude=PATTERN
              exclude files that match PATTERN

       -x, --one-file-system
              skip directories on different file systems

예를 들어, du -x //proc 및 /sys는 마운트된 가상 파일 시스템이므로 확실히 건너뜁니다.

관련 정보