728x90
반응형
tmux란?
원격 서버에 접속해서 작업을 하다보면 ssh 서버와 연결이 끊겨도 오랜 시간 유지되어야 하는 경우가 발생한다.
ex) 모델 학습, 데이터 프로세싱 등
또한 하나의 터미널 창에 여러 개의 터미널 화면을 분할해서 사용해야 하는 경우 tmux를 사용한다.
tmux는 Teminal Multiplexer의 줄임말로, 위의 경우에 window와 session 단위로 관리하기 위한 도구이다.
tmux 주요 용어
- session
tmux
명령어를 실행하면 세션이 생성된다. 세션은 tmux가 관린하는 가장 큰 실행 단위이다. tmux 도구는 생성된 세션에 attach/detach를 할 수 있게 해준다. detach 된 세션은 종료되지 않고 백그라운드에서 계속 실행된다. - window
세션은 여러 개의 윈도우로 구성된다. 사용자가 터미널 화면으로 보는 view가 윈도우이다. 하나의 세션에서 여러 개의 윈도우가 마치 크롬의 탭처럼 작동된다. - pane
하나의 윈도우는 여러 개로 분할되어 pane을 구성할 수 있다. 가로/세로로 화면을 분할해가며 팬을 생성한다. 이때 팬은 윈도우마다 다르게 구성할 수 있다.
tmux 설치하기
$ brew install tmux
# 또는
$ sudo apt-get install tmux
tmux 명령어
# 1. session 생성
# 1-1. 기본 명령어, 세션 이름은 숫자로 순차적 생성
$ tmux
# 1-2. 이름을 지정한 session 생성
$ tmux new -s <session_name>
# 또는
$ tmux new-session -s <session_name>
# Change session name
$ tmux rename-session -t <session_name> <new_session_name>
# 2. 특정 session 들어가기
$ tmux a -t <session_name>
# 또는
$ tmux attach -t <session_name>
# 3. session 전체 리스트 확인
tmux ls
# -- session에 들어간 후
# 세션 이름 수정하기
[Ctrl] + b, $
# create new session (생성)
[Ctrl] + b + c
# session detach (나가기)
[Ctrl] + b + d
# Move previous session
[Ctrl] + b + p
# Move next session
[Ctrl] + b + n
# 방향키로 움직일 수 있는 모드로 전환
[Ctrl] + b + [
# 해당 모드로부터 나오려면
[Ctrl] + c
# Kill pane
[Ctrl] + d
# 또는
[Ctrl] + b + x
# session 종료
# 1. 마지막 윈도우/팬에서 실행
$ exit
# 2. session 밖에서 실행
$ tmux kill-session -t <session_name>
그렇다면 생성된 session은 언제 죽을까? 서버를 리부팅하거나 누군가가 킬 명령어를 통해 죽는다. 일반적으로는 생성한 사람이 사용한 후에 kill 하는 것이 매너이다. (사용 서버 리소스 줄이기 및 혼동 방지)
Reference
반응형
'[OS]Operating System > [Linux]' 카테고리의 다른 글
[Linux] shell code - [], [[]], (), (()) 차이 (0) | 2023.04.30 |
---|---|
[Linux] shell script - python exit code (0) | 2023.04.30 |
[Linux] $?의 의미 (0) | 2023.04.30 |
[Linux] IF문 (0) | 2023.04.30 |
[Linux] 파일 권한 의미 (0) | 2023.04.15 |