크기별로 정렬된 모든 파일을 나열하는 방법

크기별로 정렬된 모든 파일을 나열하는 방법

모든 파일을 가장 큰 크기부터 가장 작은 크기 순으로 나열하고 파일은 폴더의 어느 곳에나 존재할 수 있습니다.

답변1

다음과 같은 것을 사용하십시오.

ls -lS /path/to/folder/

수도에스.

그러면 파일이 크기별로 정렬됩니다.

또한보십시오:

man ls

-S     sort by file size

정렬하고 싶다면취소-r명령을 내리면 스위치 만 추가하면 됩니다 .

고쳐 쓰다:

디렉터리를 제외합니다(그리고 파일 이름이나 심볼릭 링크 대상에 개행 문자가 포함되어 있지 않다고 가정합니다):

ls -lS | grep -v '^d' 

업데이트 2:

이제 폴더인 심볼릭 링크가 여전히 표시되는 것을 확인했습니다. 링크에 표시된 것처럼 심볼릭 링크는 항상 문자 l로 시작됩니다.

명령을 filter 로 변경 -하면 일반 파일만 남게 됩니다.

ls -lS | grep '^-'

내 시스템에서는 일반 파일만 표시됩니다.

업데이트 3:

재귀를 추가하려면 행 정렬을 명령에 맡기고 sort다섯 번째 열을 사용하여 정렬하도록 지시합니다.

ls -lR | grep '^-' | sort -k 5 -rn

-rn가장 큰 파일을 맨 위에 가져오려면 역순으로 숫자를 입력하세요. 이 명령의 단점은 파일의 전체 경로를 표시하지 않는다는 것입니다.

파일의 전체 경로가 정말로 필요한 경우 다음과 같이 사용하십시오.

find . -type f  -exec du -h {} + | sort -r -h

find이 명령은 모든 하위 디렉터리에 있는 모든 파일을 반복적으로 찾아서 호출합니다 (즉,.du -h디스크 사용량 - 사람이 읽을 수 있음) 그런 다음 출력을 다시 정렬합니다. find/가 sort지원되지 않으면 및 로 -h바꾸십시오 . 알아채다du -ksort -rn크기그리고디스크 사용량같은 것이 아닙니다.

답변2

찾기 및 정렬과 같은 기능을 사용할 수 있습니다.

find . -type f -ls | sort -r -n -k7

(이 -ls옵션은 표준은 아니지만 GNU 구현뿐만 아니라 많은 찾기 구현에서 발견됩니다. GNU 찾기 및 기타 구현에서는 ls -li+로 표시되지 않은 것과 유사한 내용을 표시합니다.)

파일 이름에 개행 문자가 포함될 수 있는 경우 GNU find 및 GNU sort를 사용하십시오.

find . -type f -ls -printf '\0' | sort -zk7rn | tr -d '\0'

답변3

zsh 및 GNU ls 사용:

ls -ldU -- **/*(.OL)

(.OL)하나는 어디에 있습니까?글로벌 예선, .선택하다정기적인파일만, OL길이에 따른 역순(파일 크기, o 오름차순, O내림차순)입니다.

(이전 버전의 zsh에는 파일 크기가 2^32를 초과하는 문제가 있었습니다.)

일부 운영 체제에서는 명령에 전달되는 인수 목록의 크기에 제한이 있습니다. 이러한 경우에는 다음을 수행해야 합니다.

autoload -U zargs
zargs ./**/*(.OL) -- ls -ldU

자세한 출력이 아닌 파일 목록만 원하는 경우 다음을 수행하십시오.

print -rC1 -- **/*(N.OL)

.숨겨진 파일( 및 제외하고 이름이 점으로 시작하는 파일 ..)을 포함하고 숨겨진 디렉터리에서 검색 하려면 Dglobbing 한정자를 추가하세요.

print -rC1 -- **/*(ND.OL)

답변4

"파일은 폴더의 어느 곳에나 존재할 수 있습니다"라는 말은 시작 디렉터리(폴더)의 모든 디렉터리(폴더)를 재귀적으로 탐색한다는 의미입니다. find해야 할 일은 다음과 같습니다 .

find . -type f -exec ls -lSd {} +

이것은 모든 것을 "발견"합니다문서현재 작업 디렉터리( .). 발견된 각 파일에 대해 ls발견된 개체를 크기 순서로 정렬하는 프로세스가 실행됩니다. 종결자는 여러 인수가 목록으로 전달되도록 +합니다 . 디렉터리(폴더)에 많은 수의 파일이 포함되어 있지 않은 한 원하는 결과를 얻으려면 목록이 있어야 합니다(따라서 프로세스를 분기해야 함).-execls

관련 정보