메뉴 건너뛰기

XEDITION

study

Linux 기본명령어 screen

proin 2019.04.29 07:51 조회 수 : 0

http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/screen


Screen이란? #

Screen이란 Linux에서 물리적인 터미널을 여러 개의 가상 터미널로 다중화해주는 도구입니다. 각 가상 터미널은 독립적으로 동작하며 사용자 세션이 분리되어도 동작합니다. 간단히 말하면 이 도구는 백그라운드로 동작하는 다중 터미널을 만들어 줍니다. 이걸 이용해서 백그라운드 작업을 간단히 수행할 수도 있고 회사에서 작업하던 터미널 화면을 집에 가서도 같은 터미널 화면을 보며 작업을 이어 할 수도 있습니다.

Install #

screen 이라는 명령어를 실행했을때 명령어가 없다고 나오면 아래와 같이 설치를 해줍니다.

RedHat계열 (RedHat, CentOS, Fedora 등...) #

yum install screen

Debian 계열(Ubuntu 등..) #

apt-get install screen

사용법 #

추가 환경 설정 #

아래와 같이 설정 파일을 추가해주면 Screen 사용 시 좀 더 편해집니다. 적용하시는 것을 추천합니다. 각 가상 터미널의 창 구분도 되고 시계도 표시되는 등 더 보기 편해집니다.

vi ~/.screenrc

defscrollback 5000
termcapinfo xterm* ti@:te@
startup_message off
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n*%t%{-}%+w %= %c ${USER}@%H"
bindkey -k k1 select 0
bindkey -k k2 select 1
bindkey -k k3 select 2

왼쪽이 추가 환경 설정이 적용된 모습이며 오른쪽이 아무 설정도 하지 않고 screen을 실행했을 시 모습입니다. 추가 환경 설정을 하여 Screen을 사용하고 있는지, 어느 가상 터미널에 있는지 확인할 수 있습니다.

Image

Screen 진입과 탈출 #

  • screen 진입

screen : 일반적인 진입
screen -S [세션이름] : screen세션 이름을 지정하여 실행
screen -r [세션이름] : 실행중인(Detached) screen 세션으로 재 진입시 실행하는 명령어, screen세션이 하나만 실행중일 경우 세션이름을 입력하지 않아도 진입이 된다.
screen -x [세션이름] : 실행중인(Attached) screen 세션으로 재 진입시 실행하는 명령어, screen세션이 하나만 실행중일 경우 세션이름을 입력하지 않아도 진입이 된다.

  • screen 탈출 screen을 종료 시키기 위해서는 모든 터미널을 종료(exit)하면 된다. screen 세션을 유지한 상태에서 나오기를 원한다면 Ctrl + a, d를 입력하면 된다.

screen 명령어 #

Screen에서의 명령은 Ctrl + a 와 다른 키의 조합으로 이루어진다. 먼저 Ctrl + a를 누른 후 조합키를 누르면 된다. 동시에 누르는 것이 아니고 순차적으로 눌러야 한다.

Ctrl+a, c : 새창 띄우기

Ctrl+a, a : 바로 전 창으로
Ctrl+a, n : 다음 창으로
Ctrl+a, p: 이전 창으로
Ctrl+a, 스페이스 : 다음 창으로
Ctrl+a, 백스페이스 : 이전 창으로

Ctrl+a, 0 : 0번째 창으로
Ctrl+a, 1 : 1번째 창으로
Ctrl+a, 9 : 10번째 창으로

Ctrl+a, d : screen 탈출(screen은 계속 실행중이다.)

참조문헌 #

 

  1. Linux screen 사용법

 

번호 제목 글쓴이 날짜 조회 수
64 [아두이노] ArduCAM Mini Cameras Tutorial proin 2019.06.14 0
63 [아두이노] DHT11 + PHPoc proin 2019.06.11 3
62 Turning on an LED with your Raspberry Pi's GPIO Pins proin 2019.05.13 0
61 Smart Raspberry Pi CPU fan proin 2019.05.13 0
60 [PHP기초] 데이터 집합 - 배열다루기 proin 2019.04.29 0
59 build 중 서버와 연결이 끊어지거나 컴퓨터를 끄고 퇴근해야 한다면? proin 2019.04.29 1
» Linux 기본명령어 screen proin 2019.04.29 0
57 동기가사 검색 프로그램 GetLyrics2 v1.0.1.0 file proin 2019.04.28 1
56 리눅스 스왑 proin 2019.04.27 12
55 [C#] MySQL 데이터 저장시 한글이 깨질 때 proin 2019.02.27 0
54 [C#] [c#.NET]초간단 Mysql DB와 C# 연동 및 값 추가 하기(mysql테이블만들기) proin 2019.02.27 0
53 [Excel] (VBA) 피벗 테이블 (Pivot table) proin 2019.02.21 0
52 [Excel] VBA 실행 속도 빠르게 하기 proin 2019.02.21 0
51 [Excel] 엑셀 VBA IF 지시 구문 사용하는 방법, IF … ELSEIF … ELSE … ENDIF proin 2019.02.21 0
50 [Excel] 엑셀(Excel) VBA - 특정 조건의 데이터를 삭제하고자 할 때 proin 2019.02.21 0
49 Shell Script( 쉘 스크립트 ) if 문 사용법, 조건식 proin 2019.02.14 0
48 bash 스크립트 && - 한 자리 숫자 변수에 0을 더함 proin 2019.02.14 0
47 리눅스 tar.gz와 압축/해제 명령어 proin 2019.02.14 2
46 PHP MySQL 레코드 가져오기 (mysqli_fetch_array) proin 2019.01.11 0
45 [PHP] 26. 파일 생성/쓰기(File Create/Write) - PHP 강좌, PHP5 proin 2019.01.11 1
위로