현재 디렉토리내의 파일들을 용량기준으로 오름차순 정렬하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,461 조회
- 1 댓글
- 0 추천
- 목록
본문
현재 디렉토리내의 파일들을 용량기준으로 오름차순 정렬하기
이번에는 시스템관리자들이 주로 사용할 수 있는 유용한 사용법을 예로 들어 보겠습니다.
흔히 /etc나 /var/log등의 디렉토리에서 "ls -l"의 결과를 정렬하거나 특정 필드를 대상으로 정렬을 해야 하는 경우가 있습니다.
다음의 예는 현재 디렉토리에서 용량크기 순으로 오름차순 정렬을 한 것입니다.
ls -l의 결과에서 각 행의 다섯번째 필드가 용량을 나타내므로 "-k 5"라는 옵션을 사용하여 정렬을 한 것입니다.
[root@su250 ~]# ls -l /var/log | sort -k 5 합계 1672 -rw------- 1 root root 0 2008-12-01 21:54 tallylog -rw------- 1 root root 0 2008-12-01 21:55 spooler-20081219 -rw-r--r-- 1 root root 0 2008-12-01 22:23 wpa_supplicant.log -rw-r--r-- 1 root root 0 2008-12-01 22:26 yum.log -rw------- 1 root root 0 2008-12-19 04:02 spooler-20081223 -rw------- 1 root root 0 2008-12-23 04:02 spooler -rw-r--r-- 1 root root 91 2008-12-22 23:03 spacefile drwxr-xr-x 2 ntp ntp 4096 2008-10-08 20:23 ntpstats drwxrwx--T 2 root gdm 4096 2008-12-04 20:26 gdm drwxr-xr-x 2 lp sys 4096 2008-12-23 04:02 cups -rw------- 1 root root 1574 2008-12-24 20:41 maillog -rw------- 1 root utmp 1920 2008-12-03 23:40 btmp -rw------- 1 root root 2280 2008-12-23 04:02 maillog-20081223 -rw-r--r-- 2 root root 2285 2008-12-18 23:00 boot.log-20081219 -rw-r--r-- 1 root root 2285 2008-12-23 02:09 boot.log-20081223 -rw-r--r-- 1 root root 2285 2008-12-24 20:41 boot.log -rw------- 1 root root 2533 2008-12-24 20:42 secure -rw------- 1 root root 3758 2008-12-23 04:02 cron-20081223 drwxr-xr-x 2 root root 4096 2008-08-02 13:22 dirmngr drwx------ 2 root root 4096 2008-08-29 06:48 ppp drwxr-xr-x 2 root root 4096 2008-10-02 23:32 vbox drwxr-xr-x 2 root root 4096 2008-12-01 21:59 mail drwx------ 3 root root 4096 2008-12-01 22:01 samba drwxr-x--- 2 root root 4096 2008-12-01 22:22 audit drwxr-xr-x 2 root root 4096 2008-12-01 22:23 ConsoleKit drwxr-xr-x 2 root root 4096 2008-12-01 23:41 prelink drwx------ 2 root root 4096 2008-12-23 04:02 httpd drwxr-xr-x 2 root root 4096 2008-12-23 04:02 setroubleshoot -rw------- 1 root root 4321 2008-12-25 01:01 cron -rw------- 1 root root 7144 2008-12-23 02:24 secure-20081223 -rw------- 1 root root 12096 2008-12-21 22:48 faillog -rw------- 1 root root 16240 2008-12-19 04:02 maillog-20081219 -rw-r--r-- 1 root root 20944 2008-12-23 17:08 dmesg.old -rw-r--r-- 1 root root 20944 2008-12-24 20:41 dmesg -rw------- 1 root root 21424 2008-12-01 22:16 anaconda.xlog -rw------- 1 root root 21521 2008-12-19 04:02 cron-20081219 -rw-r--r-- 1 root root 22149 2008-12-04 03:39 Xorg.0.log.old -rw-r--r-- 1 root root 22149 2008-12-04 23:33 Xorg.0.log -rw------- 1 root root 25749 2008-12-01 22:16 anaconda.syslog -rw------- 1 root root 27728 2008-12-01 22:16 anaconda.log -rw------- 1 root root 28346 2008-12-19 02:20 secure-20081219 -rw-r--r-- 1 root root 45798 2008-12-06 04:02 rpmpkgs-20081219 -rw-r--r-- 1 root root 45798 2008-12-19 04:04 rpmpkgs-20081223 -rw-r--r-- 1 root root 45798 2008-12-24 04:02 rpmpkgs -rw------- 1 root root 76664 2008-12-24 23:24 messages -rw-rw-r-- 1 root utmp 141696 2008-12-24 20:42 wtmp -rw-r--r-- 1 root root 147168 2008-12-24 20:42 lastlog -rw------- 1 root root 151722 2008-12-23 04:02 messages-20081223 -rw------- 1 root root 768661 2008-12-19 04:02 messages-20081219 [root@su250 ~]# |
위의 결과에서 "ls -l"의 명령어를 입력으로 받아서 "sort -k 5"를 실행한 결과를 나타낸 것입니다.
이처럼 한 명령어의 결과를 다른 명령어의 입력으로 처리하고자 할 때에는 "|"를 사용합니다.
즉, 이번 예에서 주목해야하는
것은 특정 디렉토리의 용량을 기준으로 작은 용량부터 큰 용량의 파일 순서대로 정렬을 하였다는 것입니다.
여러분들의 디렉토리를 대상으로 실습해 보시기 바랍니다.
관련자료
-
이전
-
다음
spectator님의 댓글
- spectator
- 작성일
ls -l | sort -nk 5 와 같이 숫자정렬 옵션을 추가하면 정상적으로 정렬이 되는 걸 확인할 수 있습니다.
단, -n 옵션이 없을 때와 비교시 합계 부분이 사이즈 0인 파일아래에 위치하는 문제가 있습니다.
대신 ls에서 제공하는 사이즈 정렬옵션을 사용해서 ls -lrS 로 해도 좋습니다. (r:역순, S:사이즈정렬)