터미널이 꺼져도 작업은 살아있다 — tmux 실전 가이드
· 약 11분
노트북 덮었는데 3시간짜리 작업이 날아간 적 있나요? SSH 연결이 끊겼는데 서버에서 돌리던 스크립트가 중단된 적은요? tmux를 쓰면 이런 일은 다시는 일어나지 않습니다.
TL;DR
- tmux는 터미널을 "저장"할 수 있게 해주는 도구
- 노트북을 덮어도, SSH가 끊겨도, 작업이 그대로 살아있음
- 화면 분할로 여러 작업을 동시에 볼 수 있음
- AI 코딩 도구(Claude Code 등)와 함께 쓰면 생산성이 크게 올라감
tmux가 뭔가요?
tmux는 "Terminal Multiplexer"의 줄임말입니다.
이름이 어렵게 느껴지지만, 하는 일은 단순합니다:
터미널 창을 "저장"하고, 나중에 다시 열 수 있게 해주는 도구
비유로 설명해볼게요.
게임 세이브 포인트
게임을 하다가 저녁밥 먹으러 가야 할 때, 세이브하고 나가죠? 나중에 돌아오면 정확히 그 지점부터 다시 할 수 있습니다.
tmux는 터미널의 세이브 포인트입니다:
- tmux 없이: 터미널을 닫으면 → 하던 작업 다 사라짐 (세이브 없이 게임 끈 것)
- tmux 있으면: 터미널에서 나가도 → 작업이 계속 돌아감 → 돌아오면 이어서 할 수 있음
언제 쓰면 좋을까?
| 상황 | tmux 없이 | tmux 있으면 |
|---|---|---|
| 노트북 덮었다 열었을 때 | 터미널 다 꺼져있음 | 그대로 살아있음 |
| WiFi가 끊겼을 때 | SSH 연결 끊김, 작업 중단 | 서버에서 계속 돌아감 |
| 화면 하나에 여러 작업 보고 싶을 때 | 터미널 창 여러 개 열어야 함 | 한 창 안에서 분할 가능 |
| 6시간짜리 빌드 돌릴 때 | 컴퓨터 앞에 계속 앉아있어야 함 | 시작하고 퇴근해도 됨 |
설치하기
# macOS (Homebrew가 설치되어 있다면)
brew install tmux
# Ubuntu / Debian
sudo apt install tmux
# 설치 확인
tmux -V
핵심 개념: 세션, 윈도우, 패인
tmux에는 세 가지 개념이 있습니다. 건물에 비유하면 이해하기 쉽습니다:
건물(Session)
├── 방 1(Window) "코딩"
│ ├── 책상 왼쪽(Pane): 에디터
│ └── 책상 오른쪽(Pane): 터미널
└── 방 2(Window) "서버"
└── 책상(Pane): 서버 로그
| 개념 | 비유 | 설명 |
|---|---|---|
| Session (세션) | 건물 | 하나의 작업 환경. 건물 밖으로 나가도(detach) 건물은 그대로 있음 |
| Window (윈도우) | 방 | 브라우저의 "탭"과 같음. 한 세션 안에 여러 윈도우 |
| Pane (패인) | 책상 위 구역 | 한 윈도우 안을 분할한 영역 |
가장 중요한 포인트: 세션은 내가 보고 있지 않아도 계속 존재합니다. 게임을 세이브하고 나간 것과 같아요.
5분 만에 배우는 기본 사용법
Step 1: 세션 만들기
# "dev"라는 이름의 세션 만들기
tmux new -s dev
이렇게 하면 tmux 세션 안으로 들어갑니다. 화면 아래에 초록색 상태바가 보이면 성공!
Step 2: 화면 분할하기
tmux의 모든 단축키는 prefix 키를 먼저 누르고, 그 다음에 명령 키를 누릅니다.
기본 prefix는 Ctrl+b입니다.
Ctrl+b 누르고 손 떼고 → % 누르기 = 좌우 분할
Ctrl+b 누르고 손 떼고 → " 누르기 = 상하 분할
좌우 분할하면 이렇게 됩니다:
┌──────────────────┬──────────────────┐
│ │ │
│ 왼쪽 패인 │ 오른쪽 패인 │
│ (원래 터미널) │ (새로 생긴 터미널) │
│ │ │
└──────────────────┴──────────────────┘
Step 3: 패인 사이 이동
Ctrl+b → 방향키(←→↑↓)
왼쪽 패인에서 오른쪽 패인으로 가려면: Ctrl+b → →
Step 4: 세션에서 나가기 (Detach)
Ctrl+b → d
이게 핵심입니다! 세션에서 나가도 안에서 돌리던 작업은 계속 실행됩니다.
노트북을 덮어도, WiFi가 끊겨도, 세션은 살아있어요.
Step 5: 세션에 다시 붙기 (Attach)
# 세션 목록 보기
tmux ls
# "dev" 세션에 다시 붙기
tmux a -t dev
나갔던 그 화면, 그 상태 그대로 돌아옵니다!
전체 흐름 예시
# 1. 세션 만들고
tmux new -s dev
# 2. 화면 분할하고 코딩 중...
# (Ctrl+b → %)
# 3. 점심 먹으러 감
# (Ctrl+b → d)
# 4. 점심 먹고 돌아와서
tmux a -t dev
# → 점심 전 화면 그대로!
필수 단축키 모음
모든 단축키는 Ctrl+b(prefix)를 먼저 누르고, 그 다음 키를 누릅니다.
세션 관련
| 동작 | 방법 |
|---|---|
| 세션 만들기 | tmux new -s 이름 (터미널에서) |
| 세션 목록 보기 | tmux ls (터미널에서) |
| 세션에 다시 붙기 | tmux a -t 이름 (터미널에서) |
| 세션에서 나가기 | Ctrl+b → d |
| 세션 이름 바꾸기 | Ctrl+b → $ |
| 세션 목록 (트리뷰) | Ctrl+b → s |
윈도우 (탭) 관련
| 동작 | 방법 |
|---|---|
| 새 윈도우 | Ctrl+b → c |
| 윈도우 이름 바꾸기 | Ctrl+b → , |
| N번 윈도우로 이동 | Ctrl+b → 0~9 |
