디렉토리에서 모든 파일을 크기별로 정렬하려면 어떻게해야합니까?


48

사람이 읽을 수있는 크기별로 정렬 된 unix 디렉토리에 파일을 어떻게 표시 할 수 있습니까?

나는 시도했다

du -h | sort -V -k 1 

그러나 작동하지 않는 것 같습니다.


서브 디렉토리 크기가 출력에도 나타날 것으로 예상되는지, 그리고 파일의 실제 크기 나 디스크에서 사용하는 실제 크기를 찾고 있는지 명확히 할 수 있습니까?
jlliagre

답변:



33
$ ls -lhS

-l     use a long listing format
-h     with -l, print sizes in human readable format (e.g., 1K 234M 2G)
-S     sort by file size

16

적절한 sort버전 이 있다면 간단하게 사용할 수 있습니다.

du -h | sort -rh

광산은

$ sort --version
sort (GNU coreutils) 8.12

4

ls -S나에게 OS에서 옵션이 아니었다. 다음과 같이 작동했습니다.
ls -l | sort -k 5nr
"키"는 정렬 할 열을 지정하는 것입니다 ( "키"가져 오기). 위의 크기 (5)는 숫자 (n)으로 내림차순 (n)으로 평가되는 5 번째 열에-k 5nr 의미 정렬을 지정 합니다.

자세한 내용은 참조 정렬 문서


4

du -ha | sort -h

du : 파일 디스크 사용량을 추정합니다.

-h : for human
-a : all files

sort : 텍스트 줄을 정렬합니다.

-h : for human

man du; man sort이상. 우분투 v15에서 작동합니다.


1

나는 이것을 위해 나를 위해 일했다.

ls -l | sort -g -k 5 -r

어느 것이 (나는 방금 알아 냈습니다) 다음과 같습니다.

ls -lS

0

와 달리 ls -S, 이것은 희소 파일을 올바르게 처리합니다.

ls -lsh | sort -n | sed 's/^[0-9 ]* //'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.