강좌 & 팁
글 수 2,412
2009.11.26 15:59:26 (*.138.143.99)
138996
텔넷에서 작업하다 보면, 이전에 어떻게 작업했는지 궁금할 때가 있습니다. 보통 스크롤 바를 올려 보지만, 한계가 있지요. 몇 페이지가 고작이니까 말이죠. 또는 history 명령을 사용합니다. 이전에 실행했던 명령 행을 볼 수 있으니까요.
]$ history 2 rm -rf zlib-1.2.3 3 tar zxvf jpegsrc.v7.tar.gz 4 cd jpeg-7/ 5 CC=arm-generic-linux-gnueabi-gcc 6 CC=arm-generic-linux-gnueabi-gcc 7 pwd 8 CC=arm-generic-linux-gnueabi-gcc 9 make;make install 10 cd target/ 11 ls -al 12 cd lib 13 ls -al ]$
명령을 알 수 있지만, 결과를 볼 수 없죠. 이럴 때는 scipt 쉘 명령을 사용해 보세요. 정말 편합니다.
]$ script log.txt ---> 화면에 출력되는 모든 문자열을 log.txt로 저장 시작 Script started, file is log.txt ]$ ls -al ---> 이후 작업은 평소처럼 똑같이 작업 합계 13172 drwx------ 15 jwjw jwjw 4096 10월 31 19:32 . drwxr-xr-x 4 root root 4096 10월 20 00:25 .. -rw------- 1 jwjw jwjw 21801 10월 31 19:32 .bash_history -rw-r--r-- 1 jwjw jwjw 33 1월 22 2009 .bash_logout -rw-r--r-- 1 jwjw jwjw 176 1월 22 2009 .bash_profile -rw-r--r-- 1 jwjw jwjw 215 10월 20 00:33 .bashrc drwxr-xr-x 4 jwjw jwjw 4096 10월 20 09:06 .mozilla drwxrwxr-x 3 jwjw jwjw 4096 10월 20 03:01 .subversion -rw------- 1 jwjw jwjw 6699 10월 31 19:32 .viminfo -rw-r--r-- 1 jwjw jwjw 658 1월 7 2007 .zshrc drwxrwxr-x 4 jwjw jwjw 4096 10월 25 22:32 forum drwxrwxr-x 5 jwjw jwjw 4096 10월 1 21:47 lab -rw-rw-r-- 1 jwjw jwjw 0 10월 31 19:32 log.txt drwxrwxr-x 4 jwjw jwjw 4096 10월 26 02:25 make-lib-for-gxlib drwxrwxr-x 18 jwjw jwjw 4096 10월 31 03:15 pool-sw drwxrwxr-x 18 jwjw jwjw 4096 10월 20 03:02 pool-sw-bck-01 drwxrwxr-x 4 jwjw jwjw 4096 10월 2 00:07 prjs drwxrwxr-x 10 jwjw jwjw 4096 10월 5 15:59 reference drwxrwxr-x 3 jwjw jwjw 4096 10월 1 21:29 tools -rw-rw-r-- 1 jwjw jwjw 24576 10월 31 19:26 typescript ]$ exit ----> script 실행 종료 exit Script done, file is log.txt ]$ cat log.txt ----> log.txt 파일 내용 보기 Script started on 2009년 10월 31일 (토) 오후 07시 32분 57초 ]$ ls -al 합계 13172 drwx------ 15 jwjw jwjw 4096 10월 31 19:32 . drwxr-xr-x 4 root root 4096 10월 20 00:25 .. -rw------- 1 jwjw jwjw 21801 10월 31 19:32 .bash_history -rw-r--r-- 1 jwjw jwjw 33 1월 22 2009 .bash_logout -rw-r--r-- 1 jwjw jwjw 176 1월 22 2009 .bash_profile -rw-r--r-- 1 jwjw jwjw 215 10월 20 00:33 .bashrc drwxr-xr-x 4 jwjw jwjw 4096 10월 20 09:06 .mozilla drwxrwxr-x 3 jwjw jwjw 4096 10월 20 03:01 .subversion -rw------- 1 jwjw jwjw 6699 10월 31 19:32 .viminfo -rw-r--r-- 1 jwjw jwjw 658 1월 7 2007 .zshrc drwxrwxr-x 4 jwjw jwjw 4096 10월 25 22:32 forum drwxrwxr-x 5 jwjw jwjw 4096 10월 1 21:47 lab -rw-rw-r-- 1 jwjw jwjw 0 10월 31 19:32 log.txt drwxrwxr-x 4 jwjw jwjw 4096 10월 26 02:25 make-lib-for-gxlib drwxrwxr-x 18 jwjw jwjw 4096 10월 31 03:15 pool-sw drwxrwxr-x 18 jwjw jwjw 4096 10월 20 03:02 pool-sw-bck-01 drwxrwxr-x 4 jwjw jwjw 4096 10월 2 00:07 prjs drwxrwxr-x 10 jwjw jwjw 4096 10월 5 15:59 reference drwxrwxr-x 3 jwjw jwjw 4096 10월 1 21:29 tools -rw-rw-r-- 1 jwjw jwjw 24576 10월 31 19:26 typescript [jwjw@jwCentOS ~]$ exit exit Script done on 2009년 10월 31일 (토) 오후 07시 33분 08초 ]$
실행된 예를 보시면 아시겠습니다만, script는 화면에 출력되는 내용을 지정한 텍스트 파일에 그대로 녹음하듯이 저장시켜 줍니다.
]$ script log.txt ---> 저장 시작 .... 작업 .... ]$ exit ---> script 작업 종료 ]$ cat log.txt ---> 작업 내용 확인
script를 실행할 때 지정한 log.txt를 보시면, 작업했던 명령과 그때의 실행했던 모습들을 그대로 불 수 있습니다. 최근에 어떤 라이브러리를 컴파일하는데, 계속 에러가 나서 고생했는데, 이 script 명령을 이용해서, 어디에 에러 메시지가 출력되었는지 확인할 수 있었고, 결국 script 덕분에 무사히 설치할 수 있었습니다. script 만세!!
정보 감사합니다.