tmux는 터미널 하나에서 여러 화면을 동시에 쓸 수 있게 해주는 도구입니다. 터미널을 닫아도 작업이 살아있어서, SSH 끊김이나 실수에도 안전합니다. 핵심 5개만 외우면 됩니다.

이 문서의 모든 키바인딩은 커스텀 ~/.tmux.conf 설정 기준입니다. tmux 기본 설정과 다를 수 있으니, 설정 파일을 먼저 확인하세요.


1. tmux가 뭔가요?

tmux(Terminal MUltipleXer)는 터미널 멀티플렉서입니다. 쉽게 말하면, 터미널을 쪼개고 관리하는 도구입니다.

tmux 없이:
터미널 1개 = 화면 1개 = 작업 1개

tmux 쓰면:
터미널 1개 안에서:
├── 화면1: 코드 편집
├── 화면2: 서버 실행
├── 화면3: 로그 확인
└── 화면4: git 작업

가장 중요한 기능: 터미널을 닫아도 작업이 살아있습니다! SSH 연결이 끊겨도, 터미널을 실수로 닫아도, 다시 접속하면 그대로입니다. 이것만으로도 tmux를 쓸 이유가 충분합니다.


2. 핵심 개념 3가지

tmux에는 세션 -> 윈도우 -> 패널 3단계 구조가 있습니다.

+─ tmux ──────────────────────────────────────────+
|                                                  |
|  세션(Session) = 하나의 작업 공간                   |
|  ├── 윈도우(Window) = 탭 (화면 전체를 차지)         |
|  |   ├── 패널(Pane) = 분할된 각각의 영역            |
|  |   └── 패널(Pane)                              |
|  └── 윈도우(Window)                               |
|      └── 패널(Pane)                              |
|                                                  |
+──────────────────────────────────────────────────+
개념 비유 설명
세션(Session) 프로젝트 “프론트엔드 작업”, “백엔드 작업” 같은 큰 단위
윈도우(Window) 브라우저 탭 세션 안에서 탭처럼 전환
패널(Pane) 화면 분할 하나의 윈도우를 쪼개서 동시에 보기

비유로 이해하기: 세션 = 사무실, 윈도우 = 책상, 패널 = 책상 위의 모니터 하나의 사무실(세션)에 여러 책상(윈도우)이 있고, 하나의 책상에 여러 모니터(패널)가 있는 구조입니다.


3. Prefix 키 이해하기 - 가장 중요!

tmux의 모든 명령은 2단계로 입력합니다:

1단계: Ctrl+a 를 누른다 (동시에 누르고, 손을 뗀다)
2단계: 명령 키를 누른다

반드시 손을 떼고 다음 키를 눌러야 합니다! Ctrl+a, | 의미: Ctrl+a 누르고 -> 손 떼기 -> | 누르기 세 키를 동시에 누르면 동작하지 않습니다.

예시: 화면을 좌우로 분할하고 싶다

잘못된 방법: Ctrl+a+|  (세 키를 동시에 누름) <- 안 됩니다!
올바른 방법: Ctrl+a 누르고 손 떼기 -> | 누르기  <- 이렇게!

|Shift + \ 입니다. 백슬래시(\) 키를 Shift와 함께 누르면 됩니다. (키보드에서 Enter 키 바로 위 또는 Backspace 근처에 있습니다)


4. 시작하기

tmux 시작

# 그냥 시작
tmux

# 이름을 붙여서 시작 (권장)
tmux new -s work

tmux에 들어가면 화면 아래에 초록색 상태바가 보입니다. 이게 보이면 tmux 안에 있는 겁니다.

tmux 나가기 (2가지)

방법 명령 차이점
분리(detach) Ctrl+a, d tmux는 백그라운드에서 계속 살아있음
종료(exit) exit 입력 패널/윈도우가 완전히 닫힘

항상 Ctrl+a, d로 나가세요. exit는 작업이 다 끝났을 때만 쓰세요. detach로 나가면 나중에 그대로 복원할 수 있습니다.

다시 들어가기

# 마지막 세션으로 돌아가기
tmux attach

# 특정 세션으로 돌아가기
tmux attach -t work

# 세션 목록 보기
tmux ls

5. 패널(Pane) - 화면 분할

가장 많이 쓰는 기능입니다.

분할하기

동작 모양
Ctrl+a, | 좌우 분할 (세로선) [왼쪽 | 오른쪽]
Ctrl+a, - 상하 분할 (가로선) [위] — [아래]

실습해보세요:

  1. tmux 실행: tmux new -s practice
  2. Ctrl+a 누르고 손 떼고, | 누르기 -> 좌우로 분할됨!
  3. Ctrl+a 누르고 손 떼고, - 누르기 -> 현재 패널이 상하로 분할됨!

결과:

+────────────┬─────────────+
|            |  패널2       |
|  패널1     +─────────────|
|            |  패널3       |
+────────────┴─────────────+

패널 이동 (포커스 변경)

분할 후 다른 패널로 이동하는 방법:

방향 기억법
Ctrl+a, h 왼쪽 vim의 h
Ctrl+a, j 아래 vim의 j
Ctrl+a, k vim의 k
Ctrl+a, l 오른쪽 vim의 l

더 편한 방법 (Prefix 없이): Alt+h 왼쪽 / Alt+j 아래 / Alt+k 위 / Alt+l 오른쪽 Prefix 없이 바로 누르면 됩니다. 패널 이동할 때 가장 빠릅니다. 마우스도 됩니다! 원하는 패널을 마우스로 클릭하면 포커스가 이동합니다.

패널 크기 조절

동작
Ctrl+a, H (대문자) 왼쪽으로 5칸 넓히기
Ctrl+a, J (대문자) 아래로 5칸 넓히기
Ctrl+a, K (대문자) 위로 5칸 넓히기
Ctrl+a, L (대문자) 오른쪽으로 5칸 넓히기

대문자는 Shift를 함께 누르면 됩니다. 마우스로 패널 경계선을 드래그해도 크기 조절이 됩니다.

패널 전체화면 (줌)

동작
Ctrl+a, z 현재 패널을 전체화면으로 / 다시 원래대로

작은 패널에서 긴 로그를 봐야 할 때 유용합니다. 다시 Ctrl+a, z 누르면 원래 분할로 돌아옵니다.

패널 닫기

동작
Ctrl+a, x 현재 패널 닫기 (확인 질문 나옴, y로 확인)
exit 입력 현재 패널 즉시 닫기

6. 윈도우(Window) - 탭처럼 사용

패널은 한 화면을 쪼개는 거고, 윈도우는 완전히 새로운 화면입니다. 브라우저의 탭이라고 생각하세요.

윈도우 관리

동작
Ctrl+a, c 새 윈도우 만들기
Ctrl+a, 1 1번 윈도우로 이동
Ctrl+a, 2 2번 윈도우로 이동
Ctrl+a, 3 3번 윈도우로 이동
Ctrl+a, Ctrl+h 이전 윈도우
Ctrl+a, Ctrl+l 다음 윈도우
Ctrl+a, , (쉼표) 현재 윈도우 이름 바꾸기
Ctrl+a, & 현재 윈도우 닫기

상태바에서 현재 윈도우를 확인할 수 있습니다:

work  1 zsh  2 zsh*  3 zsh
                 ^ 여기가 현재 윈도우 (* 표시)

7. 세션(Session) 관리

세션은 프로젝트 단위로 만들면 편합니다.

# 터미널에서 (tmux 바깥)
tmux new -s frontend      # 프론트엔드 세션
tmux new -s backend        # 백엔드 세션

# 세션 목록
tmux ls

# 특정 세션 접속
tmux attach -t frontend
tmux 안에서 키 동작
Ctrl+a, d 현재 세션에서 분리 (나가기)
Ctrl+a, s 세션 목록 보기 (방향키로 선택, Enter로 전환)

세션 완전 삭제

# tmux 바깥에서
tmux kill-session -t frontend

8. 복사 & 붙여넣기 (스크롤)

스크롤하기

tmux 안에서는 그냥 마우스 휠로 스크롤하면 됩니다. (마우스 모드 활성화되어 있음)

동작
Ctrl+a, [ 복사 모드 진입 (스크롤/선택 가능)
위/아래 또는 k j 위아래 스크롤
q 복사 모드 나가기

텍스트 복사하기

1. Ctrl+a, [     -> 복사 모드 진입
2. 방향키로 이동   -> 복사할 시작점으로
3. v             -> 선택 시작 (노란색으로 하이라이트)
4. 방향키로 이동   -> 복사할 끝점까지
5. y             -> 복사! (Windows 클립보드에 저장됨)

복사한 텍스트는 Ctrl+V로 다른 곳에 붙여넣을 수 있습니다.


9. 실전 예시

예시 1: 웹 개발 작업 환경

tmux new -s dev
1. 첫 화면에서 코드 편집기 실행 (예: vim)
2. Ctrl+a, |     -> 오른쪽에 새 패널
3. npm run dev   -> 개발 서버 실행
4. Ctrl+a, h     -> 왼쪽 패널로 돌아가기
5. Ctrl+a, -     -> 아래에 새 패널
6. git status    -> git 작업

결과:
+─────────────────┬──────────────+
|                  |              |
|  vim (코드편집)   | npm run dev  |
|                  | (서버 실행)   |
+─────────────────|              |
|  git 작업        |              |
|                  |              |
+─────────────────┴──────────────+

예시 2: 로그 모니터링

tmux new -s monitor
1. Ctrl+a, |     -> 좌우 분할
2. 왼쪽: tail -f /var/log/app.log
3. Ctrl+a, l     -> 오른쪽으로 이동
4. Ctrl+a, -     -> 오른쪽을 상하 분할
5. 위: htop (시스템 모니터)
6. Ctrl+a, j     -> 아래로 이동
7. 아래: docker logs -f container

결과:
+─────────────────┬──────────────+
|                  |  htop        |
|  app.log         +──────────────|
|                  |  docker logs |
+─────────────────┴──────────────+

예시 3: 퇴근하고 다음날 복원

tmux의 진짜 힘이 발휘되는 순간! 퇴근할 때 tmux에서 detach하고, 다음날 출근해서 attach하면 어제 작업 그대로입니다.

[퇴근할 때]
Ctrl+a, d          -> tmux에서 나가기
터미널 닫기          -> OK, tmux는 살아있음

[다음날]
새 터미널 열기
tmux attach -t dev  -> 어제 작업 그대로!

10. 자주 쓰는 키 요약 (치트시트)

꼭 외울 것 (5개)

동작 빈도
Ctrl+a, | 좌우 분할 매일
Ctrl+a, - 상하 분할 매일
Alt+h/j/k/l 패널 이동 매분
Ctrl+a, d 세션 나가기 매일
Ctrl+a, z 패널 전체화면 자주

알아두면 좋은 것

동작
Ctrl+a, c 새 윈도우
Ctrl+a, 1/2/3 윈도우 전환
Ctrl+a, x 패널 닫기
Ctrl+a, , 윈도우 이름 변경
Ctrl+a, s 세션 목록
Ctrl+a, r 설정 리로드

11. 문제 해결

“키가 안 먹어요”

  1. tmux 안에 있는지 확인 -> 화면 아래 상태바가 보여야 합니다
  2. Ctrl+a를 누르고 반드시 손을 뗀 후 다음 키를 누르세요
  3. 설정 리로드: Ctrl+a, r

“tmux가 이미 실행 중이라고 나와요”

tmux attach          # 기존 세션에 접속

“세션을 전부 정리하고 싶어요”

tmux kill-server     # 모든 세션 종료 (주의!)

tmux kill-server모든 세션이 종료됩니다. 실행 중인 프로세스도 모두 종료되니 주의하세요.

“마우스가 안 돼요”

# tmux 안에서
Ctrl+a, r            # 설정 리로드

“화면이 깨져요”

# tmux 안에서
Ctrl+a 누르고 :을 입력하면 명령줄이 나옵니다
clear-history 입력 후 Enter

12. tmux 플러그인 설치 (최초 1회)

tmux 안에서:

Ctrl+a 누르고 손 떼고, Shift+i (대문자 I) 누르기

잠시 후 플러그인 설치 완료 메시지가 나옵니다:

  • tmux-resurrect: 세션 저장/복원 (재부팅 후에도!)
  • tmux-continuum: 10분마다 자동 저장

세션 수동 저장/복원

동작
Ctrl+a, Ctrl+s 세션 저장
Ctrl+a, Ctrl+r 세션 복원

다음 단계 / 추가 학습

추천 학습 순서:

  1. 오늘: 패널 분할(|, -)과 이동(Alt+h/j/k/l)만 연습
  2. 이번 주: 윈도우(c, 1/2/3)와 세션(d, attach) 익히기
  3. 다음 주: 복사 모드와 플러그인 활용

문서 작성일: 2026-02-07 환경: WSL2 Ubuntu 24.04 + tmux 3.4 + 커스텀 설정