더 큰 영역을 차지하는 파일을 얻는 방법(상위 10개 파일)

더 큰 영역을 차지하는 파일을 얻는 방법(상위 10개 파일)

"/admin"이라는 상위 디렉터리가 있습니다. admin 디렉토리에는 "/admin/a", "/admin/b", "/admin/a/Source" ...와 같은 100개의 하위 디렉토리가 있습니다.

다음과 같은 find 명령이 있습니다.

 find /admin -type f -exec du {};

 full command: find /admin -type f -exec du {}; 2>/user/arya/file.txt|sort -rn|head -10 > /user/arya/top10_file.txt

명령을 실행하여 출력을 제공하는 데 5~6시간이 넘는 시간이 걸립니다.

명령을 작성하고 출력을 더 빨리 얻고 처음 10-20개의 파일이 큰 공간을 차지하도록 할 수 있는 방법이 있습니까?

제안해주세요

답변1

문제에 대한 한 가지 가능한 해결책은 find다음과 같습니다.du

find /admin -type f -exec du -a {} + | sort -n -r | head -n 10

find그리고du모두 Unix 표준 도구입니다.

{} +명령을 여러 파일에 동시에 적용하라는 지시를 제공합니다 find. 명령은 한 번에 각 파일에 적용됩니다.du{};du

답변2

printf에서 사용함으로써 find,

find /admin -type f -printf '%s %p\n'| sort -nr | head -10
  • %s파일 크기(바이트)입니다.
  • %p파일 이름.

관련 정보