반응형
screen은 하나의 콘솔 세션에 여러 개의 가상 스크린을 제공하기 위해 만들어진 유틸리티이지만, 많은 분들이 원격에서 터미널을 열고 작업을 하다가 장애로 통신이 끊길 때 작업중이던 일을 보호하기 위하여 사용합니다. screen은 잘 사용하면 안전하고 보다 효율적인 작업이 가능하므로 콘솔에서 vim 으로 코딩같은 작업을 할 경우 무척 유용하게 사용됩니다.
리눅스 시스템에 screen이 설치 되었다는 가정하에 바로 사용법을 알아보죠..
참고로 저는 screen 타이핑이 불편해서 .bashrc 에 screen 을 'sc'로 alias 해서 사용하고 있습니다.
1. 스크린 생성
$ screen -S <screen name>
$ screen -S test1
--> 스크린을 위한 새로운 쉘이 생성됩니다.
--> 스크린을 위한 새로운 쉘이 생성됩니다.
2. 스크린 Detach
$ aaa
// 테스트를 위해서 aaa까지 타이핑 하고 [Ctrl+a, d] (etach)로 스크린을 빠져 나갑니다.
~~~
[detached]
// --> 스크린을 호출한 콘솔 session
$
통신이 두절되거나 콘솔을 닫아도 자동으로 Detach 됩니다. Detach된 스크린은 없어지지 않고 백그라운드로 남아 있기 때문에 언제든지 콘솔로 접속해서 restore 할 수 있습니다. (4번 참조)// 테스트를 위해서 aaa까지 타이핑 하고 [Ctrl+a, d] (etach)로 스크린을 빠져 나갑니다.
~~~
[detached]
// --> 스크린을 호출한 콘솔 session
$
3. 스크린 목록 보기
$ screen -list
There is a screen on:
19686.test1 (Attached)
1 Socket in /var/run/uscreens/S-sahngoh.
There is a screen on:
19686.test1 (Attached)
1 Socket in /var/run/uscreens/S-sahngoh.
4. 스크린 복구
$ screen -r <screen_name>
$ screen -list
There is a screen on:
19686.test1 (Detached)
1 Socket in /var/run/uscreens/S-sahngoh.
$ screen -r test1
~~~
$ aaa
// 2번에서 Detach된 상태로 복구되었습니다.
There is a screen on:
19686.test1 (Detached)
1 Socket in /var/run/uscreens/S-sahngoh.
$ screen -r test1
~~~
$ aaa
// 2번에서 Detach된 상태로 복구되었습니다.
5. 스크린 내에서 추가 쉘 생성하기 및 전환 [☆☆☆]
screen 세션에서 screen을 중복으로 실행하면 스크린 세션에서 shell이 추가로 생성이 됩니다.
단축키 [Ctrl+a, c] (create)를 누르는 효과와 같습니다.
이 기능은 여러개의 콘솔을 열지 않고 관련 있는 작업을 하나의 콘솔에서 스크린속 쉘에서 작업할 때 유용합니다.
스크린 내에 생성된 쉘은 [Ctrl+a, w] (window) 로 확인할 수 있습니다.
위의 그림을 보면 하나의 스크린에 3개의 bash 쉘이 생성되어 있고 현재 보이는- 활성화된- 쉘은 2번 쉘(2*$ bash)임을 알 수 있습니다. 참고로 bash 쉘을 나가려면 일반 콘솔처럼 exit을 하면 됩니다.
이들 쉘간의 전환을 위한 단축키는 다음과 같습니다.
Ctrl+a, n (ext) : 다음 창으로 이동
Ctrl+a, p (revious) : 이전 창으로 이동
Ctrl+a, (0-9) : 활성화 된 번호로 직접 이동
Ctrl+a, a : 바로 이전 창으로 빠르게 이동
Ctrl+a, p (revious) : 이전 창으로 이동
Ctrl+a, (0-9) : 활성화 된 번호로 직접 이동
Ctrl+a, a : 바로 이전 창으로 빠르게 이동
6. Attached 된 스크린 강제로 Detache 시키기
$ screen -D <pid>
(10:20:35 AM) $ screen -list
There are screens on:
27342.bld (Attached)
8669.qcte (Attached)
30508.prot (Attached)
3 Sockets in /var/run/uscreens/S-sahngoh.
(10:20:40 AM) $ screen -D 27342
[27342.bld power detached.]
(10:21:27 AM) $ screen -D 8669
[8669.qcte power detached.]
(11:08:05 AM) $ screen -D 30508
[30508.prot power detached.]
(11:08:13 AM) $ screen -list
There are screens on:
27342.bld (Detached)
8669.qcte (Detached)
30508.prot (Detached)
There are screens on:
27342.bld (Attached)
8669.qcte (Attached)
30508.prot (Attached)
3 Sockets in /var/run/uscreens/S-sahngoh.
(10:20:40 AM) $ screen -D 27342
[27342.bld power detached.]
(10:21:27 AM) $ screen -D 8669
[8669.qcte power detached.]
(11:08:05 AM) $ screen -D 30508
[30508.prot power detached.]
(11:08:13 AM) $ screen -list
There are screens on:
27342.bld (Detached)
8669.qcte (Detached)
30508.prot (Detached)
[스크린 단축키 정리]
http://www.pixelbeat.org/lkdb/screen.html
반응형
'IT Tech > Linux' 카테고리의 다른 글
awk에서 쉘파라메터 사용하기 (0) | 2015.06.12 |
---|---|
[LINUX] ARP 테이블 클리어, ip 툴 (0) | 2015.01.30 |
VMWare+Linux 루트 패스워드(Root Password) 복구 방법!! (0) | 2013.11.17 |
[리눅스] 인터페이스 맥 주소(MAC Address) 수정하기 (0) | 2012.04.26 |
[C언어] 리눅스 프로세스 이름으로 프로세스 아이디(PID) 구하기 (0) | 2011.10.17 |
[LINUX] 리눅스 시스템에 VLAN 추가,삭제하기 (0) | 2011.09.22 |
[네크워크&리눅스] tcpdump로 패킷 덤프 사용 예제 (0) | 2011.09.16 |
VIM 프로그래밍 관련 튜닝 및 운용 단축키 표(VIM Cheat Sheet)과 그밖의 팁 (0) | 2011.08.12 |
[리눅스] 프로세스 이름으로 검색(grep)해서 죽이기 (0) | 2011.08.05 |
[리눅스] 유팉 - grep 에서 특정 디렉토리(.svn)을 제외하고 검색하기 (0) | 2011.06.17 |