리눅스에서 콘솔 프로그램을 백그라운드로 실행해야 할 경우 screen 명령어가 굉장히 유용하다.

원격 작업하다보면 여러창을 보고 싶을때도 있어 보통 터미널을 여러개 띄워 사용한다. 하지만 왔다갔다하기 귀찮아 많이 이용한다.

간단히 nohup으로 사용할수 있지만 screen명령어가 더 강력하고 유연하므로 많이 사용된다.


우선 사용하기 위해 screen 명령어를 써보니 라즈비안에선 깔려 있지 않다.


라즈비안은 Ubuntu 기반이므로

sudo apt-get install screen 명령어로 손쉽게 깔 수 있다.


CentOS

yum install screen 으로 설치하면 된다.



=========================================================================

screen 명령어의 메뉴얼로는


1. 쉘모드 명령어
  screen
   : screen 을 시작 하는 기본 명령입니다.
   : 기본 세션명으로 시작합니다.
  screen -S 세션명
   : -S 다음에 주는 세션명으로 시작합니다.
  screen -list
   : -list 옵션을 주고 실행하면 이전에 작업했었던 screen 리스트가 있으면 세션명과 함께 리스트를 보여줍니다.
  screen -R 세션명
   : 이전에 세션이 있을 경우 -R 다음에 오는 세션명으로 이전 작업을 불러옵니다.
   : -R 다음에 세션명을 주지 않았을 경우에는 이전 세션이 한개만 있을 경우 그 작업을 불러옵니다.
   : 이전 작업이 여러개 있을 경우에는 이전 작업 리스트를 보여줍니다.
   : 이 경우에는 원하는 세션명을 주고 시작 하면 되겠죠. ^__^
   
2. screen 실행후 명령어
  screen 실행후의 명령어는 Ctrl-a로 시작합니다:

Ctrl-a, c       : (create) 새로운 쉘이 생기면서 그 쉘로 이동
Ctrl-a, a       : 바로 전 창으로 이동
Ctrl-a, n       : (next) 다음 창으로 이동
Ctrl-a, p       : (previous) 이전 창으로 이동
Ctrl-a, 숫자    : 숫자에 해당하는 창으로 이동
Ctrl-a, '       : 창번호 또는 창이름으로 이동 ( ' => 싱글 쿼테이션 )
Ctrl-a, "       : 창번호를 보여준다. ( " => 더블 쿼테이션 )
Ctrl-a, A       : 현재 창의 title을 수정
Ctrl-a, w       : 창 리스트 보여주기
Ctrl-a, esc     : Copy 모드로 전환. Copy 모드에서는 vi의 이동키로 이동을 할 수 있다.
Crtl-a, [         커서 이동을 할 수 있고 특정 블럭을 복사하는 기능으로 사용한다.
                 먼저 시작 위치에서 space 바를 누르고 끝 위치에서 space 바를 누르면 해당 부분이 buffer로 복사된다.
Ctrl-a, ]       : buffer의 내용을 stdin으로 쏟아 넣는다.
                 이 기능은 vi의 입력모드에서 사용하면 유용하다.
Ctrl-a, :(콜론) : 명령행 모드로 전환
Ctrl-a, d       : (detach) 현재 작업을 유지하면서 screen 세션에서 빠져나옴
                 세션이 종료 되지 않습니다.
Ctrl-a, x       : lock screen

아래 부분은 창을 나눠서 사용하는 명령입니다.

Ctrl-a, S       : (split) 창을 나눔 (region)
Ctrl-a, Tab     : 다른 region으로 이동
Ctrl-a, Q       : 현재 region을 제외한 나머지 숨기기


그리고 마지막 명령으로 세션을 완전히 빠져 나오는 명령입니다.

exit : screen 의 쉘상에서 exit 를 치고 엔터를 하면 세션이 완전히 종료 됩니다.


이상 위의 명령어 들만 알고 있으면 screen 사용시 불편하지 않게 screen 을 사용 할 수 있을 겁니다.

참 고
다른 사용자 분들의 의견을 보면 screen 화면을 2, 3 개정도 띄우고 사용하는게 가장 적당하다고 합니다.
4개 이상 띄우고 사용하다보면 불편하다고 하네요.
여러분들은 어느정도가 적당한지 한번 사용해보시고 판단 하시기 바랍니다.


기타 더욱 자세한 내용을 아시고 싶으시면 man 페이지나 /usr/doc/screen 을 참고하시기 바랍니다. 


참고 : KLTP( http://kltp.kldp.org/ )
      리눅스 사랑넷 ( http://linux-sarang.net )

      [펌] http://blog.naver.com/xinfra/80007388674


+ Recent posts