오래전 이야기/Open Tools

script 활용하기

리눅스 엔지니어였던 2008. 9. 15. 18:25

리눅스에서 터미널 작업을 하다보면, 화면에 출력되는 내용을 저장하고 싶을때가 가끔 있다.


- 화면에 뿌려진 오류 내용을 확인한고자 할때

- 작업 내용을 다른 사람에게 보여주고 싶을때

- 화면에 무슨 내용이 뿌려지긴 했으나, 너무 빨리 지나가 버려서 확인이 안될때

- 너무 많은 내용이 화면에 나타나서 한 화면에 모두다 표현되지 않을때

- 앞에 보여졌던 내용이 page-up을 해도 더이상 보여지지 않을때


여러가지 이유가 있겠지만, 터미널 상에서는 이러한 요구를 충족시키기에 많은 제한이 따른다.

이럴때, script 명령을 이용하면 화면에 뿌려졌던 내용들을 고스란히 Text 파일로 저장할 수 있다.


사용법

script 명령을 입력하는 방법은 아래와 같다.


# script <저장될 파일명>

.... (작업들) ....

<Ctrl + D>


<-- 지정해준 파일명으로 기록을 시작한다.

     이후 작업하는 모든 내용은 해당 파일에 저장된다.

<-- 저장을 종료하고 싶을때는 Ctrl + D 를 누른다.

     이후 부터는 작업 내용이 저장되지 않는다.



예제

간단한 예제로 아래와 같이 실습해 보자.


# script command_test.txt

# ls

# ls -al

# ll

<ctrl + D>


script를 실행했으며, command_test.txt 라는 파일에 해당 내용이 기록된다.

ls 명령과 ls -al 명령, ll 명령 등을 실행하였으며, 마지막에는 Ctrl+D를 눌러 기록을 종료한다.

이제 command_test.txt 파일을 열어서 확인하자.


[root@localhost f4l-0.2.1]# cat command_test.txt
Script started on 2006년 09월 06일 (수) 오전 11시 33분 33초
[root@localhost f4l-0.2.1]# ls
COPYING  CVS  Doxyfile  Makefile  bin  callgrind.cmd  command_test.txt  deneme.swf  f4l.kdevelop  f4l.kdevelop.pcs  f4l.kdevses  f4l.pro  src  templates
[root@localhost f4l-0.2.1]# ls -al
합계 2556
drwxr-xr-x  6 1000 1000    4096  9월  6 11:33 .
drwxr-x--- 45 root root    4096  9월  6 11:33 ..
-rw-r--r--  1 1000 1000   18009  4월  4  2005 COPYING
drwxr-xr-x  2 1000 1000    4096  5월 14  2005 CVS
-rw-r--r--  1 1000 1000    9922  4월  4  2005 Doxyfile
-rw-r--r--  1 1000 1000    4452  8월  7 18:35 Makefile
drwxr-xr-x  2 1000 1000    4096  8월  7 18:40 bin
-rw-r--r--  1 1000 1000       5 11월 14  2005 callgrind.cmd
-rw-r--r--  1 root root       0  9월  6 11:33 command_test.txt
-rw-r--r--  1 1000 1000    1824 12월 21  2005 deneme.swf
-rw-r--r--  1 1000 1000    5646 12월 21  2005 f4l.kdevelop
-rw-r--r--  1 1000 1000 2515388 12월 21  2005 f4l.kdevelop.pcs
-rw-r--r--  1 1000 1000    1087 12월 21  2005 f4l.kdevses
-rw-r--r--  1 1000 1000     371  7월 14  2005 f4l.pro
drwxr-xr-x  6 1000 1000    4096  8월  7 18:40 src
drwxr-xr-x  3 1000 1000    4096  4월  5  2005 templates
[root@localhost f4l-0.2.1]# ll
합계 2544
-rw-r--r-- 1 1000 1000   18009  4월  4  2005 COPYING
drwxr-xr-x 2 1000 1000    4096  5월 14  2005 CVS
-rw-r--r-- 1 1000 1000    9922  4월  4  2005 Doxyfile
-rw-r--r-- 1 1000 1000    4452  8월  7 18:35 Makefile
drwxr-xr-x 2 1000 1000    4096  8월  7 18:40 bin
-rw-r--r-- 1 1000 1000       5 11월 14  2005 callgrind.cmd
-rw-r--r-- 1 root root       0  9월  6 11:33 command_test.txt
-rw-r--r-- 1 1000 1000    1824 12월 21  2005 deneme.swf
-rw-r--r-- 1 1000 1000    5646 12월 21  2005 f4l.kdevelop
-rw-r--r-- 1 1000 1000 2515388 12월 21  2005 f4l.kdevelop.pcs
-rw-r--r-- 1 1000 1000    1087 12월 21  2005 f4l.kdevses
-rw-r--r-- 1 1000 1000     371  7월 14  2005 f4l.pro
drwxr-xr-x 6 1000 1000    4096  8월  7 18:40 src
drwxr-xr-x 3 1000 1000    4096  4월  5  2005 templates
[root@localhost f4l-0.2.1]#
Script done on 2006년 09월 06일 (수) 오전 11시 33분 41초
[root@localhost f4l-0.2.1]#


위와 같이 script를 실행해서 Ctrl+D를 누르기 전까지 모든 내용이 저장된 것을 확인할 수 있다.

(Script started 부터 Script done 까지)

이 script 기능은 사용하기에 따라서 아주 유용하게 사용할 수 있다.

필자는 리눅스를 사용하면서 만나는 여러가지 오류(bug) 등을 보고하는 용도로 자주 사용한다.


자~! 이제 리눅스의 터미널 환경에 한번 푹~ 빠져 보도록 하자.

즐~리~ ^^


<출처: http://open.asianux.co.kr/openproject/mapping.php?bbsId=TIPNTECH&action=View&doc_number=23&pageNo=6 >