드라이브에서 가장 크고 최신 20개의 파일을 나열합니다.

드라이브에서 가장 크고 최신 20개의 파일을 나열합니다.

내 디스크는 많은 대용량 파일로 꽉 차 있어서 디스크에서 최신 파일과 가장 큰 파일 20개만 찾고 싶습니다. 어떻게 해야 하나요?

답변1

그리고 zsh:

ls -lrtd -- **/*(D.OL[1,20])

가장 큰 파일 20개를 가장 오래된 것부터 최신 것 순으로 정렬합니다.

ls -lrtd -- **/*(D.OL[1,20]m-1)

동일하지만 지난 24시간 동안 마지막으로 수정된 파일에만 해당됩니다. 지난 시간으로 대체되었습니다 m-1.mh-1

ls -lSd -- **/*(D.om[1,20])

최신 20개 파일을 크기(최소순)별로 정렬합니다.

ls -lSd -- **/*(D.om[1,20]LM+100)

동일하지만 100MiB보다 큰 파일에만 해당됩니다.

Lglob 한정자는 다음에 적용됩니다 .겉보기 크기자신의 것이 아닌 파일의 것디스크 사용량(보고 된대로 du).

답변2

최신 20개 파일 찾기:

find . -type f -printf "%T@ %Tc %p\0" | sort -z -nr | head -z -n20

(에서 적응여기)

상위 20개 찾기:

find . -type f -printf "%s %p\0" | sort -z -nr | head -z -n20

아니면 더 간단하게

du -ba0 | sort -nr | head -z -n20

파일을 0으로 구분하는 대신 줄 바꿈으로 구분하려면 | tr '\0' '\n'원형 차트 끝에 at을 추가해야 할 수도 있습니다.파일 이름에는 개행 문자가 포함될 수 있으므로 이는 일반적으로 좋은 생각이 아닙니다.; 이것이 위의 모든 예에서 0바이트 구분 기호를 사용하는 이유입니다(파일 이름은 0바이트를 포함할 수 없습니다).

관련 정보