티스토리 뷰
한 개의 터미널에서 여러 화면을 사용해야 할 때 screen은 매우 유용합니다. 백그라운드로 돌려야 하는 작업도 " > /dev/null 2>&1 " 같은 꼬리표보다 가끔은 screen이 편할 때도 있죠. 이번 글에서는 screen을 빠르게 사용하기 위한 기본 커맨드를 알아봅니다.
# screen 실행
screen -S sockname
screen은 이름을 갖습니다. 이름으로 구분해서 스크린을 사용할 수 있죠. 보통 여러 개의 스크린을 운영할 일은 드물기 때문에 적당히 본인만의 이름을 사용해도 크게 무리는 없습니다. 여기서는 sockname을 이름으로 사용했습니다.
# screen 빠져나오기
Ctrl + a + d
스크린을 빠져나올 때는 위의 커맨드를 순서대로 눌러주면 됩니다. 마치 영어를 AD를 입력할 때 Shift를 입력한 상태로 a, d를 순서대로 누르는 느낌이랄까요?
# screen 다시 접속
screen -r sockname
빠져나왔던 스크린에 다시 접속하는 옵션입니다. -R 을 사용하면 스크린이 없는 경우 신규로 생성하고, 이미 존재한다면 해당 스크린으로 접속하는 용도로 쓸 수도 있습니다.
# screen 종료
exit
스크린을 종료시킵니다.
# screen 목록보기
screen -list
현재 시스템에 운영되는 스크린 목록을 확인할 수 있습니다. 스크린 이름을 확인하고 접속해보세요.
# screen 로그를 파일로 출력
screen -S batch -L -Logfile foo.txt
screen에서 출력되는 모든 내용을 파일에 기록합니다. 프로그램을 실행시켜놓고 어떤 로그가 찍히고 있는지 굳이 스크린에 접속해서 확인할 필요 없이 파일로 확인하실 수 있습니다.
이외에도 다양한 옵션이 존재합니다. 필요한 건 그때그때 찾아서 사용하면 되겠지만, 사실 대부분 자주 사용하는 것들이 아니라서 위에서 설명한 접속, 종료, 목록보기 같은 기본 명령어만 알아도 충분합니다. screen -h로 살펴보면 멍해질 정도로 많은 옵션이 나열되어 있는데 빠르게 screen을 익힐 필요가 있는 분들께는 도움이 되겠죠 :)
$ screen -h
Use: screen [-opts] [cmd [args]]
or: screen -r [host.tty]
Options:
-a Force all capabilities into each window's termcap.
-A -[r|R] Adapt all windows to the new display width & height.
-c file Read configuration file instead of '.screenrc'.
-d (-r) Detach the elsewhere running screen (and reattach here).
-dmS name Start as daemon: Screen session in detached mode.
-D (-r) Detach and logout remote (and reattach here).
-D -RR Do whatever is needed to get a screen session.
-e xy Change command characters.
-f Flow control on, -fn = off, -fa = auto.
-h lines Set the size of the scrollback history buffer.
-i Interrupt output sooner when flow control is on.
-list or -ls. Do nothing, just list our SockDir.
-L Turn on output logging.
-m ignore $STY variable, do create a new screen session.
-O Choose optimal output rather than exact vt100 emulation.
-p window Preselect the named window if it exists.
-q Quiet startup. Exits with non-zero return code if unsuccessful.
-r Reattach to a detached screen process.
-R Reattach if possible, otherwise start a new session.
-s shell Shell to execute rather than $SHELL.
-S sockname Name this session <pid>.sockname instead of <pid>.<tty>.<host>.
-t title Set title. (window's name).
-T term Use term as $TERM for windows, rather than "screen".
-U Tell screen to use UTF-8 encoding.
-v Print "Screen version 4.00.03 (FAU) 23-Oct-06".
-wipe Do nothing, just clean up SockDir.
-x Attach to a not detached screen. (Multi display mode).
-X Execute <cmd> as a screen command in the specified session.
'개발 > Linux' 카테고리의 다른 글
Audacity는 이미 실행 중입니다. (0) | 2019.06.20 |
---|---|
conda tab completion (자동완성) 만들기 (2) | 2019.06.11 |
[CVE-2019-12735] Vim 취약점 발견 (2) | 2019.06.11 |
logrotate 사용하기 ( CentOS 기준 ) (0) | 2018.08.28 |
vim : 멀티라인 커맨드 (0) | 2018.08.09 |
- Total
- Today
- Yesterday