디렉터리 및 디스플레이 크기가 1GB보다 큰 Linux 디스플레이 파일

디렉터리 및 디스플레이 크기가 1GB보다 큰 Linux 디스플레이 파일

1GB보다 큰 파일을 표시하고 파일을 크기별로 정렬하여 표시하는 명령을 찾으려고 합니다. 이것을 시도했지만 find . -maxdepth 2 -type f -size +1G -print0 |xargs -0 du -h |sort -rh어떤 이유로 표시된 파일 크기가 1GB보다 크지 않습니다. 예를 들어, 이것은 출력에 있습니다1.0K ./<repo>/.git/info

답변1

가능한 이유는 최소한 두 가지입니다.

  1. 어쩌면 find아무것도 인쇄하지 않았을 수도 있습니다. 이 경우 .survey 에 해당하는 항목을 xargs실행합니다 .du -hdu -h .--no-run-if-emptyGNU 옵션 xargs. 아니면 find … -exec …대신 익숙해지는 것이 좋습니다 find … | xargs …. 이와 같이:

    find . -maxdepth 2 -type f -size +1G -exec du -h {} + | sort -rh
    
  2. find -size(거의) 무엇이든 테스트하세요.du --apparent-size이 옵션이 없으면 표시가 du매우 불쾌할 수 있으며, 특히 파일이 희박한 경우 더욱 그렇습니다. 이 옵션은 이식 가능하지 않습니다.

나는 당신의 경우 첫 번째 이유가 범인이라고 생각합니다. 메모 의 깊이가 3이므로 메모를 ./<repo>/.git/info가져올 수 없습니다 . find . -maxdepth 2 -type f이는 du디렉터리에서 재귀적으로 작업하는 것을 의미합니다.

관련 정보