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