터미널 멀티플렉서 tmux의 세션 관리, 화면 분할, 단축키 등 기본 사용법을 작성한다.
[01] tmux란?
tmux(terminal multiplexer)는 하나의 터미널에서 여러 세션·윈도우·패널을 동시에 운영할 수 있는 도구다.
SSH 접속이 끊겨도 세션이 유지되기 때문에, 서버에서 장시간 작업 시 특히 유용하다.
| 개념 |
설명 |
| Session |
tmux의 최상위 단위. 독립적인 작업 공간. 이름을 붙여 관리 가능 |
| Window |
세션 안의 탭. 여러 개를 만들어 전환 가능 |
| Pane |
윈도우를 분할한 개별 터미널 영역 |
모든 tmux 단축키는 Prefix 키 (Ctrl + b)를 먼저 누른 뒤 다음 키를 입력한다.
Ctrl + b를 누르고 손을 뗀 후 다음 키를 입력한다. 동시에 누르는 것이 아니다.
[02] 설치
1
2
3
4
5
|
# Ubuntu / Debian
sudo apt install tmux
# macOS (Homebrew)
brew install tmux
|
버전 확인:
출력 예:
[03] Session 생성 및 관리
3-1. 새 세션 생성
(A) 이름 없이 생성
(B) 이름을 지정해서 생성 (권장)
출력 예 (하단 상태 표시줄):
1
|
[mywork] 0:bash* "hostname" 10:00 06-Mar-26
|
상태 표시줄 왼쪽에 세션 이름 [mywork]가 표시된다.
옵션 설명:
| 명령 |
설명 |
tmux new |
새 세션 생성 (new-session의 축약) |
-s mywork |
세션 이름을 mywork로 지정 |
3-2. 세션에서 빠져나오기 (Detach)
세션을 종료하지 않고 백그라운드로 내려보내는 방법이다.
SSH 연결이 끊겨도 세션은 서버에서 계속 살아있다.
출력 예:
1
|
[detached (from session mywork)]
|
3-3. 세션 목록 확인
출력 예:
1
2
|
mywork: 1 windows (created Thu Mar 6 10:00:00 2026)
deploy: 2 windows (created Thu Mar 6 09:30:00 2026)
|
3-4. 세션에 다시 접속 (Attach)
1
2
3
4
5
6
7
8
|
# 이름으로 접속
tmux attach -t mywork
# 축약형
tmux a -t mywork
# 세션이 하나뿐이면 이름 생략 가능
tmux a
|
출력 예 (접속 후 상태 표시줄):
1
|
[mywork] 0:bash* "hostname" 10:05 06-Mar-26
|
옵션 설명:
| 명령 |
설명 |
tmux attach |
세션에 재접속 (attach-session의 축약) |
-t mywork |
접속할 세션 이름 지정 |
3-5. 세션 종료
1
2
3
4
5
6
7
8
|
# 세션 안에서 종료
exit
# 외부에서 특정 세션 종료
tmux kill-session -t mywork
# 모든 세션 종료
tmux kill-server
|
3-6. 세션 단축키 요약
| 단축키 |
설명 |
Ctrl + b → d |
현재 세션에서 Detach (세션 유지) |
Ctrl + b → s |
세션 목록 보기 및 전환 |
Ctrl + b → $ |
현재 세션 이름 변경 |
[04] 화면 분할 (Pane)
4-1. 화면 분할
1
2
3
4
5
|
# 좌우 분할 (수직 분할선)
Ctrl + b → %
# 상하 분할 (수평 분할선)
Ctrl + b → "
|
분할 예시:
1
2
3
4
5
6
7
8
9
10
11
|
┌─────────────┬─────────────┐
│ │ │ ← Ctrl+b % (좌우 분할)
│ pane 0 │ pane 1 │
│ │ │
└─────────────┴─────────────┘
┌─────────────────────────────┐
│ pane 0 │ ← Ctrl+b " (상하 분할)
├─────────────────────────────┤
│ pane 1 │
└─────────────────────────────┘
|
4-2. 패널 간 이동
방향키로 이동
1
|
Ctrl + b → ↑ / ↓ / ← / →
|
순서대로 이동 (다음/이전 패널)
1
2
|
Ctrl + b → o # 다음 패널로 이동
Ctrl + b → ; # 직전에 사용한 패널로 이동
|
패널 번호로 이동
1
|
Ctrl + b → q # 패널 번호 표시
|
출력 예 (번호가 잠깐 화면에 표시됨):
1
2
3
4
5
|
┌─────────────┬─────────────┐
│ │ │
│ 0 │ 1 │
│ │ │
└─────────────┴─────────────┘
|
번호가 표시되는 동안 해당 숫자 키를 누르면 그 패널로 이동한다.
1
|
Ctrl + b → q → 1 # 1번 패널로 이동
|
4-3. 패널 크기 조절
Prefix 입력 후 방향키를 누르면 패널 경계를 이동할 수 있다.
1
|
Ctrl + b → Alt + ↑ / ↓ / ← / →
|
또는 Prefix 입력 후 아래 방법으로도 가능하다.
1
2
3
4
|
Ctrl + b → :resize-pane -D 5 # 아래로 5칸 축소
Ctrl + b → :resize-pane -U 5 # 위로 5칸 확장
Ctrl + b → :resize-pane -L 5 # 왼쪽으로 5칸 축소
Ctrl + b → :resize-pane -R 5 # 오른쪽으로 5칸 확장
|
4-4. 패널 닫기
1
2
3
4
5
|
# 패널 안에서 셸 종료
exit
# 또는 단축키
Ctrl + b → x # 현재 패널 닫기 (확인 메시지 표시)
|
출력 예 (확인 메시지):
1
|
kill pane mywork:0.1? (y/n)
|
y를 누르면 해당 패널이 닫힌다.
4-5. 패널 레이아웃 자동 변경
1
|
Ctrl + b → Space # 레이아웃 순환 (even-horizontal → even-vertical → main-horizontal → ...)
|
4-6. 패널 단축키 요약
| 단축키 |
설명 |
Ctrl + b → % |
좌우(수직) 분할 |
Ctrl + b → " |
상하(수평) 분할 |
Ctrl + b → 방향키 |
인접한 패널로 이동 |
Ctrl + b → o |
다음 패널로 순환 이동 |
Ctrl + b → ; |
직전 패널로 이동 |
Ctrl + b → q |
패널 번호 표시 |
Ctrl + b → q → 번호 |
해당 번호 패널로 이동 |
Ctrl + b → x |
현재 패널 닫기 |
Ctrl + b → Space |
레이아웃 순환 |
Ctrl + b → z |
현재 패널 전체화면 전환 (토글) |
[05] Window 관리
패널이 화면 분할이라면, 윈도우는 브라우저의 탭과 같은 개념이다.
5-1. 윈도우 단축키 요약
| 단축키 |
설명 |
Ctrl + b → c |
새 윈도우 생성 |
Ctrl + b → w |
윈도우 목록 보기 및 전환 |
Ctrl + b → n |
다음 윈도우로 이동 |
Ctrl + b → p |
이전 윈도우로 이동 |
Ctrl + b → 숫자 |
해당 번호 윈도우로 이동 (0~9) |
Ctrl + b → , |
현재 윈도우 이름 변경 |
Ctrl + b → & |
현재 윈도우 닫기 |
[06] 전체 단축키 요약
| 구분 |
단축키 |
설명 |
| 세션 |
Ctrl+b d |
세션 Detach |
| |
Ctrl+b s |
세션 목록 및 전환 |
| |
Ctrl+b $ |
세션 이름 변경 |
| 윈도우 |
Ctrl+b c |
새 윈도우 생성 |
| |
Ctrl+b w |
윈도우 목록 |
| |
Ctrl+b n / p |
다음 / 이전 윈도우 |
| |
Ctrl+b 숫자 |
번호로 윈도우 이동 |
| |
Ctrl+b , |
윈도우 이름 변경 |
| 패널 |
Ctrl+b % |
좌우 분할 |
| |
Ctrl+b " |
상하 분할 |
| |
Ctrl+b 방향키 |
패널 이동 |
| |
Ctrl+b o |
다음 패널 순환 |
| |
Ctrl+b q |
패널 번호 표시 |
| |
Ctrl+b z |
패널 전체화면 토글 |
| |
Ctrl+b x |
현재 패널 닫기 |
| |
Ctrl+b Space |
레이아웃 순환 |
| 기타 |
Ctrl+b ? |
전체 단축키 목록 보기 |
| |
Ctrl+b : |
tmux 명령어 입력 모드 |