텔넷에서 작업하다 보면, 이전에 어떻게 작업했는지 궁금할 때가 있습니다. 보통 스크롤 바를 올려 보지만, 한계가 있지요. 몇 페이지가 고작이니까 말이죠. 또는 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 만세!!