UroA 개발 블로그

[Linux & Unix] Screen 사용하기 본문

Programming/Linux & Unix

[Linux & Unix] Screen 사용하기

UroA 2016. 11. 22. 14:18

Screen 사용하기


 terminal 또는 putty를 이용해 원격에서 작업하다 보면 여러개의 창을 띄우고 싶을 때가 많습니다. 이럴때 보통 여러개의 terminal을 띄워서 작업합니다. (저는 screen을 알기 전까지 그랬습니다...) 그런데 창을 하나, 둘 여러개 띄우고 작업을 하다보면 어느 창에서 어떤 작업을 하고 있었는지도 헷갈리기 시작하면서 관리의 어려움이 생기게 됩니다.


screen은 한 terminal로 한번만 로그인 한 후에 여러 쉘과 프로그램을 사용할 수 있습니다. 또한 세션관리 기능도 지원합니다. 세션관리 기능은 상당히 유용합니다. 예를 들면, 터미널을 통해 원격 서버에 접속하여 작업을 하다가 네트워크 장애로 연결이 끊어진다면 매우 난감할 수 있습니다. 이때 screen을 사용해서 작업중이 였다면 세션을 유지할 수 있기 때문에 해당 작업은 로컬에서 계속 진행되고 있으며 언제든지 다시 해당 세션을 통해 작업을 계속 할 수 있습니다. 더불어 하나의 서버에 여러명의 사용자가 접속하여 해당 스크린을 공유하여 같은 화면을 공유할 수도 있습니다. (저 같은 경우에는 회사 서버에서 스크린을 통해 사람들이 어떤 작업을 했는지 보며 하나, 둘 배웠던것도 있습니다.)


<Screen 사용1>


<Screen 사용2>


<Screen 사용3>




이제 사용방법을 알아보겠습니다.


1. Screen 실행 명령어


$ screen

   : screen 을 시작하는 기본 명령어 입니다. 기본 세션명으로 시작합니다.


$ screen -S 세션명

   : 해당 세션명으로 스크린을 시작합니다.


$ screen -list

   : 이전에 작업 했던 screen 목록을 불러와 세션명과 함께 보여 줍니다.


$ screen -R 세션명

   : 이전에 작업 했던 세션이 있을 경우 해당 세션을 불러옵니다.

     세션명을 주지 않았을 경우에는 이전 세션이 한개일 경우 그 작업을 불러오고, 여러개 일 경우에는 작업 리스트를 보여 줍니다.


$ screen -S 세션명 -X quit

   : 스크린을 삭제합니다.



2. Screen 실행 후 명령어


Screen 실행 후의 명령어는 Ctrl-a로 시작합니다.


$ Ctrl-a, c

   : 새로운 쉘을 생성(create) 하여 그 쉘로 이동합니다.


$ Ctrl-a, p

   : 바로 전(previous) 창으로 이동합니다.


$ Ctrl-a, n

   : 바로 다음(next) 창으로 이동합니다.


$ Ctrl-a, 숫자

   : 숫자에 해당하는 창으로 이동합니다.


$ Ctrl-a, '

   : 창번호 또는 창이름으로 이동합니다. (' => 싱글 쿼테이션)


$ Ctrl-a, "

   : 창목록을 보여 줍니다. (방향키와 Enter를 통해 창 선택 후 이동가능, " => 더블 쿼테이션)


$ Ctrl-a, A

   : 현재 창의 title을 수정합니다.


$ Ctrl-a, :

   : screen의 명령행 모드로 전환합니다. (: => 콜론)


$ Ctrl-a, d

   : (detach) 현재 작업을 유지하면서 screen 세션에서 바져나옵니다. 세션이 종료 되지 않습니다.


$ Ctrl-a, k

   : 해당 스크린을 삭제합니다.


$ Ctrl-a, x

   : 해당 스크린에 lock을 겁니다. (해당 유저의 비밀번호를 입력해야 해제할 수 있다.)


* 창 관련 명령어

$ Ctrl-a, S

   : 창을 분할합니다(split).


$ Ctrl-a, Tab

   : 분할된 창으로 이동합니다.


$ Ctrl-a, Q

   : 분할된 구역중 현재 구역을 제외하고 나머지를 숨깁니다.


$ exit

   : Ctrl-a, d(세션 유지) 와는 달리 세션을 완전히 종료합니다.


* 참고

- http://egloos.zum.com/pinge/v/2358742

- http://kevinx64.net/337


Comments