1GB보다 큰 파일을 표시하고 파일을 크기별로 정렬하여 표시하는 명령을 찾으려고 합니다. 이것을 시도했지만 find . -maxdepth 2 -type f -size +1G -print0 |xargs -0 du -h |sort -rh
어떤 이유로 표시된 파일 크기가 1GB보다 크지 않습니다. 예를 들어, 이것은 출력에 있습니다1.0K ./<repo>/.git/info
답변1
가능한 이유는 최소한 두 가지입니다.
어쩌면
find
아무것도 인쇄하지 않았을 수도 있습니다. 이 경우 .survey 에 해당하는 항목을xargs
실행합니다 .du -h
du -h .
--no-run-if-empty
GNU 옵션xargs
. 아니면find … -exec …
대신 익숙해지는 것이 좋습니다find … | xargs …
. 이와 같이:find . -maxdepth 2 -type f -size +1G -exec du -h {} + | sort -rh
find -size
(거의) 무엇이든 테스트하세요.du --apparent-size
이 옵션이 없으면 표시가du
매우 불쾌할 수 있으며, 특히 파일이 희박한 경우 더욱 그렇습니다. 이 옵션은 이식 가능하지 않습니다.
나는 당신의 경우 첫 번째 이유가 범인이라고 생각합니다. 메모 의 깊이가 3이므로 메모를 ./<repo>/.git/info
가져올 수 없습니다 . find . -maxdepth 2 -type f
이는 du
디렉터리에서 재귀적으로 작업하는 것을 의미합니다.