예를 들어 공간 폴더의 양을 보여주는 명령이 있습니다.
du folder | sort -n
그것은 잘 작동하지만 인간이 읽을 수있는 형태를 갖고 싶습니다.
du -h folder
그러나 그렇게하면 숫자로 정렬 할 수 없습니다.
조인 du folder
하고 du -h folder
출력을로 정렬 하는 방법은 du folder
이지만 첫 번째 열은du -h folder
추신. 이것은 단지 예일뿐입니다. 이 기술은 나에게 매우 유용 할 수 있습니다 (가능한 경우).
답변
보다 일반적인 접근 방식은 다음과 같습니다. 의 출력 취득 du folder
및 du -h folder
두 개의 서로 다른 파일을.
du folder > file1
du -h folder > file2
중요한 부분은 다음과 같습니다 . 적절한 구분 기호를 사용하여 연결 file1
하고 file2
한 줄씩 표시합니다.
paste -d '#' file1 file2 > file3
( 및에 #
나타나지 않는 것으로 가정 )file1
file2
이제 정렬하십시오 file3
. 이것은 file1
내용을 기준으로 정렬하고 내용별로 연결을 끊습니다 file2
. 다음을 사용하여 관련 결과를 추출하십시오 cut
.
sort -n -k1,7 file3 | cut -d '#' -f 2
man sort
다른 옵션도 살펴보십시오 .
나중에 재사용 할 수 있도록이를 별칭으로 저장할 수도 있습니다. 이렇게하려면 아래에 다음을 추가하십시오 ~/.bashrc
.
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
그런 다음 새 터미널 세션을 열고 새 별명을 실행하십시오.
sorted-du /home
답변
다음과 같은 것을 시도하십시오 :
du -h folder | sort -h
대안 : -n
숫자 정렬 용
참고 : -h
정렬 옵션은 최신 버전의 Ubuntu에만 있습니다.
답변
이 답변은 10.04.4LTS 및 하위 버전의 우분투에 유효합니다 .
불행히도 KMG를 분류하는 정확한 대답은 어렵고 복잡합니다.
이것을 사용하여 사람이 읽을 수 있도록 정렬하는 명령으로 전체 du 명령의 별명을 지정할 수 있습니다
alias duf='du -sk * | sort -n | perl -ne '\''($s,$f)=split(m{\t});for (qw(K M G)) {if($s<1024) {printf("%.1f",$s);print "$_\t$f"; last};$s=$s/1024}'\'
내가 여기서 찾은
http://www.earthinfo.org/linux-disk-usage-sorted-by-size-and-human-readable/
단지 CD 폴더에 당신은 알고 싶습니다 DUF
이 duf 별명을 /home/user/.profile의 끝에 추가하여 duf 명령을 반영구적으로 만들 수 있습니다.
결과 :
user@hostname:~$ duf 0.0K Documenten 0.0K Muziek 0.0K Openbaar 0.0K Sjablonen 0.0K Video's 4.0K backup_db.sql.g 4.0K examples.desktop 12.0K xml printer ticket 52.0K hardinfo_report.html 152.0K librxtxSerial.so 2.7M jpos 4.4M nxclient_3.5.0-7_amd64.deb 6.4M nxnode_3.5.0-4_amd64.deb 6.8M Downloads 7.4M nxserver_3.5.0-5_amd64.deb 12.4M NetBeansProjects 18.1M mysqlworkbench.deb 28.3M Afbeeldingen 45.8M ergens-20110928-18.sql.gz 60.5M 2012-06-02ergens_archive.tar.gz 65.5M 2012-08-26ergens_archive.tar.gz 65.6M 2012-08-28ergens_archive.tar.gz 65.6M 2012-08-29ergens_archive.tar.gz 65.7M 2012-08-30ergens_archive.tar.gz 113.0M Bureaublad 306.2M ergens-20110928-18.sql
du -sch /var/* | sort -n
작동하지 않는 이유 는 MKKMMKKMMK의 정렬을 참조하십시오.
user@hostname:~$ du -sch /var/* |sort -n 0 /var/crash 0 /var/local 0 /var/lock 0 /var/opt 8,0M /var/backups 12K /var/games 16K /var/tmp 17M /var/log 68M /var/cache 104K /var/spool 144K /var/run 351M /var/lib 443M totaal 704K /var/mail
답변
GNU 명령 sort
에는 다음과 같은 옵션이 있습니다.
-h
,--human-numeric-sort
(예를 들어, 2K 1G) 사람이 읽을 수있는 번호를 비교합니다.BSD / OSX에이 옵션을 사용하려면, 당신은 설치할 수 있습니다
sort
에서coreutils
(통해brew
)와에 bin 폴더를 추가PATH
하여로 RC의 파일입니다.
따라서 명령은 다음과 같습니다.
du -ah . | sort -rh | head -20
답변
최신 버전의 Ubuntu에는을 사용하십시오 du -h directory | sort -h
.
제어 할 수없는 파일을 찾기 위해 항상이 형식을 사용합니다.
답변
Ctrl+ Alt+로 터미널을 열고 다음을 t입력하십시오.
du -sk * | sort -rn
답변
이것은 공백이나 아포스트로피가있는 파일 이름을 처리하며 xargs -d
또는 sort -h
다음을 지원하지 않는 시스템에서 작동합니다 .
du -s * | sort -n | cut -f2 | tr '\n' '\0' | xargs -0 -I {} du -sh "{}"
결과 :
368K diskmanagementd
392K racoon
468K coreaudiod
472K securityd
660K sshd
3.6M php-fpm