일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Ionic
- 안드로이드
- Linux
- git
- EC2
- Retrofit
- node
- cordova
- 자바
- node.js
- Repository
- AWS
- ssh
- ubuntu
- mean
- Q-Map
- JSP
- 인공지능
- IT 도서
- gmaps
- SSH Key
- 깃
- express
- java
- angularJs
- commit
- HTML
- Android
- rest
- 저장소
- Today
- Total
UroA 개발 블로그
[Linux & Unix] Screen 사용하기 본문
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
'Programming > Linux & Unix' 카테고리의 다른 글
[Linux & Unix] 나만의 dotfiles 만들기 (0) | 2016.12.19 |
---|---|
[Linux & Unix] 쉘 프롬프트 정보 & 색상 변경하기 (2) | 2016.12.14 |
[Linux & Unix] ls 결과 색상 변경하기 (0) | 2016.12.13 |
[Linux & Unix] .bashrc 와 .bash_profile 의 차이 (1) | 2016.12.13 |