tmux를 처음 붙이면 명령어가 CLI 서브커맨드(tmux new, tmux ls)와 prefix 단축키(C-b c, C-b %) 두 갈래로 나뉘어 있어 헷갈리기 쉽다. 게다가 세션, 윈도우, 페인이라는 세 계층이 각각 다른 키를 쓰다 보니, 필요한 순간에 키가 기억나지 않아 매번 검색하게 된다. 이 글은 그럴 때 바로 열어 찾아 쓰도록 tmux 명령어와 기본 단축키를 세션·윈도우·페인·복사 모드로 나눠 표로 정리한 치트시트다. 단순 나열에 그치지 않고 prefix가 어떻게 동작하는지, 페인이 화면에서 어떻게 갈라지는지 같은 구조도 함께 짚는다. tmux를 처음 익히는 과정 전체가 궁금하다면 tmux 터미널 멀티플렉서 가이드를 먼저 보고, 이 글은 옆에 띄워둔 참조용으로 쓰면 된다.
tmux 설치는 어떻게 하나
tmux는 대부분의 패키지 매니저에 이미 올라가 있어서 한 줄이면 끝난다. macOS는 Homebrew, 리눅스는 배포판 패키지 매니저를 쓰면 된다.
# macOS (Homebrew)
brew install tmux
# Ubuntu/Debian
sudo apt install tmux
# Fedora/RHEL
sudo dnf install tmux
# 버전 확인
tmux -VShellScript설치가 끝나면 tmux라고만 쳐도 새 세션이 바로 시작된다. 버전에 따라 일부 옵션(popup, display-popup 등)이 없을 수 있으므로, 이 치트시트의 명령이 안 먹으면 tmux -V로 버전을 먼저 확인하는 게 좋다. tmux 3.0 이상이면 아래 내용이 대부분 그대로 동작한다.
tmux 명령어, 세 계층만 잡으면 끝난다
tmux의 모든 명령어는 세션(session) → 윈도우(window) → 페인(pane)이라는 세 계층에 걸린다. 세션은 작업 공간 전체, 윈도우는 그 안의 탭, 페인은 윈도우를 쪼갠 화면 조각이다. 이 계층만 머릿속에 잡으면 어떤 키가 무엇에 작용하는지 헷갈리지 않는다.

세션은 tmux를 종료해도 백그라운드에 살아남는 최상위 단위다. 하나의 세션 안에 여러 윈도우를 두고, 각 윈도우를 다시 여러 페인으로 나눈다. 예를 들어 “프로젝트A” 세션 안에 편집기 윈도우와 서버 로그 윈도우를 두고, 편집기 윈도우를 좌우 두 페인으로 갈라 코드와 테스트를 나란히 보는 식이다. 아래 표가 세 계층의 역할을 요약한다.
| 계층 | 역할 | 대표 동작 |
|---|---|---|
| 세션(session) | 작업 공간 전체, detach해도 유지 | 생성·attach·detach |
| 윈도우(window) | 세션 안의 탭 | 새 탭·이동·이름변경 |
| 페인(pane) | 윈도우를 쪼갠 화면 | 분할·이동·확대 |
세션 명령어: 붙였다 떼는 게 핵심이다
세션 관련 동작은 대부분 셸에서 치는 tmux 서브커맨드와, tmux 안에서 누르는 prefix 단축키로 나뉜다. 핵심은 detach(떼기)와 attach(다시 붙기)다. detach하면 세션이 백그라운드에서 계속 돌고, 나중에 attach로 그대로 돌아온다. 원격 서버에서 오래 걸리는 작업을 걸어둘 때 이 흐름이 특히 유용하다.
아래는 셸에서 실행하는 세션 명령어다. (C-b는 기본 prefix, 즉 Ctrl+b를 뜻한다.)
tmux new -s work # 'work'라는 이름으로 새 세션 생성
tmux ls # 실행 중인 세션 목록 확인
tmux attach -t work # 'work' 세션에 다시 붙기
tmux kill-session -t work # 'work' 세션 종료ShellScript위 네 줄이 세션 관리의 뼈대다. -s는 세션 이름을 지정하고, -t는 대상(target) 세션을 가리킨다. 이름을 붙여두면 tmux ls 목록에서 어떤 세션이 무슨 작업인지 바로 알아볼 수 있어, 세션이 여러 개일 때 특히 편하다. tmux 안에서 누르는 세션 단축키는 다음과 같다.
| 단축키 | 동작 |
|---|---|
C-b d | 현재 세션에서 detach(떼기) |
C-b s | 세션 목록 열어 이동 |
C-b $ | 현재 세션 이름 변경 |
C-b ( / C-b ) | 이전 / 다음 세션으로 전환 |
prefix 키는 왜 있고 어떻게 동작하나
tmux의 거의 모든 단축키는 prefix(기본값 C-b)를 먼저 누른 뒤 명령 키를 누르는 2단계 구조다. 이유는 단순하다. tmux 안에서 도는 셸이나 편집기도 Ctrl 조합키를 쓰기 때문에, tmux 전용 키를 겹치지 않게 하려면 “지금부터 tmux 명령”이라고 알리는 신호가 필요하다. 그 신호가 prefix다.

그래서 C-b c는 “Ctrl+b를 눌러 tmux 명령 모드를 연 다음 c를 눌러 새 윈도우”라는 뜻이지, Ctrl+b와 c를 동시에 누르는 게 아니다. prefix를 누르고 잠깐 뒤 명령 키를 눌러도 동작한다. 많은 사용자가 C-b가 손에 불편하다며 ~/.tmux.conf에서 prefix를 C-a로 바꾸는데, 이 경우 이 치트시트의 모든 C-b를 C-a로 바꿔 읽으면 된다. 헷갈릴 때는 C-b ?로 현재 바인딩된 전체 키 목록을 언제든 확인할 수 있다.
윈도우 명령어: 탭처럼 다룬다
윈도우는 브라우저 탭과 거의 같은 개념이라, 새로 만들고 번호로 오가고 이름을 붙이는 흐름이 전부다. C-b c로 만들고 C-b + 숫자로 이동하는 두 가지만 익혀도 일상 작업의 대부분이 커버된다. 윈도우마다 서로 다른 작업을 배정해두면 컨텍스트 전환이 빨라진다.
| 단축키 | 동작 |
|---|---|
C-b c | 새 윈도우 생성 |
C-b , | 현재 윈도우 이름 변경 |
C-b n / C-b p | 다음 / 이전 윈도우 |
C-b 0 ~ C-b 9 | 번호로 윈도우 이동 |
C-b w | 윈도우 목록 열기 |
C-b & | 현재 윈도우 닫기 |
표의 키들은 모두 prefix를 먼저 누른 뒤 동작한다. C-b ,로 윈도우에 “editor”, “server” 같은 이름을 붙여두면 상태 표시줄에서 어떤 윈도우가 무슨 역할인지 한눈에 들어온다. C-b &는 윈도우를 닫기 전에 확인을 한 번 물어보므로, 실수로 작업 중인 윈도우를 날리는 사고를 줄여준다.
페인 분할과 이동: 화면을 어떻게 쪼개나
페인은 하나의 윈도우를 상하 또는 좌우로 쪼갠 화면 조각이다. C-b %가 좌우 분할, C-b "가 상하 분할이며, 나뉜 페인 사이는 C-b + 방향키로 오간다. 기호가 헷갈리기 쉬운데, %는 세로선이 하나 그어지는 좌우 분할, "는 가로선이 그어지는 상하 분할로 외우면 덜 헷갈린다.

아래 표가 페인 조작의 핵심 키다.
| 단축키 | 동작 |
|---|---|
C-b % | 좌우로 페인 분할 |
C-b " | 상하로 페인 분할 |
C-b ←↑↓→ | 방향키로 페인 이동 |
C-b z | 현재 페인 확대 / 복원 (토글) |
C-b x | 현재 페인 닫기 |
C-b { / C-b } | 페인 위치 앞/뒤로 교체 |
C-b space | 페인 레이아웃 순환 |
C-b z는 특히 유용한데, 여러 페인으로 쪼갠 상태에서 한 페인만 잠깐 전체 화면으로 키웠다가 다시 원래 배치로 되돌리는 토글이다. 로그를 크게 볼 때나 긴 명령을 편집할 때 배치를 깨지 않고 집중할 수 있다. C-b space는 좌우 분할, 상하 분할, 격자 등 미리 정의된 레이아웃을 차례로 돌려주므로 페인이 여러 개일 때 배치를 빠르게 정리할 수 있다.
복사 모드: 마우스 없이 스크롤하고 복사하기
복사 모드(copy mode)는 마우스 없이 키보드만으로 화면을 스크롤하고 텍스트를 선택·복사하는 기능이다. C-b [로 진입하면 커서가 자유롭게 움직이고, 원하는 지점에서 선택을 시작해 복사한 뒤 C-b ]로 붙여넣는다. 로그를 위로 거슬러 올라가 특정 줄을 복사할 때 이 흐름이 필수다.
기본 키 조작은 편집기 스타일에 따라 다르다. ~/.tmux.conf에서 setw -g mode-keys vi를 설정하면 vi 스타일로, 기본값은 emacs 스타일로 동작한다. 아래는 vi 모드 기준 복사 모드 조작이다.
| 단축키 | 동작 |
|---|---|
C-b [ | 복사 모드 진입 |
space | 선택 시작 |
enter | 선택 영역 복사 후 종료 |
C-b ] | 복사한 내용 붙여넣기 |
q | 복사 모드 종료 |
C-b [로 들어간 뒤에는 방향키나 vi 키(h j k l)로 커서를 옮기고, space로 선택을 시작해 enter로 확정한다. 이렇게 복사한 텍스트는 기본적으로 tmux 내부 버퍼에만 저장되고, macOS나 리눅스 시스템 클립보드로는 자동으로 안 간다. C-b ]로 tmux 안 다른 페인에는 붙여넣을 수 있지만, 브라우저나 슬랙 같은 다른 앱에 붙여넣으려면 별도 설정이 필요하다.
# ~/.tmux.conf
# vi 모드 복사 모드에서 enter로 선택을 마치면 pbcopy로 시스템 클립보드까지 보낸다 (macOS)
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
# Linux는 xclip으로 대체
# bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"Plaintextcopy-pipe-and-cancel은 선택한 텍스트를 지정한 명령의 표준입력으로 넘기고 복사 모드를 바로 빠져나오는 동작이다. macOS는 pbcopy, 리눅스는 xclip -selection clipboard(또는 xsel --clipboard)를 쓰면 tmux 밖 어떤 앱에든 그대로 붙여넣을 수 있다. tmux 2.6 이전 macOS에서는 reattach-to-user-namespace pbcopy처럼 별도 래퍼가 필요했지만, 최신 macOS·tmux 조합에서는 pbcopy만으로 충분하다. SSH로 원격 서버에 들어가 있다면 이 설정으로도 클립보드가 로컬로 안 넘어오는데, 이 경우는 tmux가 지원하는 OSC 52 패스스루(set -g set-clipboard on, tmux 3.2 이상 기본값)를 켜두면 원격 tmux의 복사 내용도 로컬 터미널 클립보드로 전달된다.
~/.tmux.conf 필수 설정 몇 줄
tmux는 ~/.tmux.conf 파일로 동작을 바꾼다. prefix 변경, 마우스 지원, vi 복사 모드, 설정 리로드 정도만 잡아도 기본 사용감이 크게 좋아진다. 설정 파일이 없으면 새로 만들면 되고, 지정하지 않은 항목은 기본값으로 동작한다.
# ~/.tmux.conf
# prefix를 C-b에서 C-a로 변경
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 마우스로 페인 선택·크기 조절·스크롤 허용
set -g mouse on
# 복사 모드를 vi 스타일로
setw -g mode-keys vi
# 윈도우·페인 번호를 1부터 시작 (0은 손이 멀다)
set -g base-index 1
setw -g pane-base-index 1
# 설정 리로드 단축키 (prefix r)
bind r source-file ~/.tmux.conf \; display "리로드 완료"Plaintext각 설정은 실사용감을 바로 바꾼다. set -g mouse on은 마우스로 페인을 클릭해 선택하거나 경계를 드래그해 크기를 조절하게 해줘서, 키가 익숙지 않은 초반에 특히 편하다. base-index 1은 윈도우 번호를 1부터 시작하게 해 C-b 1부터 손이 자연스럽게 닿게 한다. 마지막 줄의 bind r은 설정을 고친 뒤 tmux를 재시작하지 않고 C-b r로 즉시 반영하는 단축키라, 설정을 다듬는 동안 반복 작업을 줄여준다.
SSH로 원격 tmux에 들어가면 단축키가 안 먹는다면
로컬에서 이미 tmux를 켜둔 채로 SSH로 원격 서버에 접속해 그 서버의 tmux에도 들어가면, 흔히 “tmux 안에 tmux”가 중첩된다. 이때 C-b를 누르면 바깥쪽(로컬) tmux가 먼저 가로채서 안쪽(원격) tmux까지 신호가 전달되지 않는다. 로컬 세션을 조작하려던 게 아니라 원격 세션을 조작하려던 거라면 이 지점에서 헷갈리기 쉽다.
가장 간단한 해법은 안쪽과 바깥쪽의 prefix를 다르게 두는 것이다. 로컬은 기본값 C-b를 그대로 쓰고, SSH로 들어가는 원격 서버 쪽 ~/.tmux.conf에서만 prefix를 C-a로 바꿔두면 두 tmux가 서로 다른 키를 듣게 되어 충돌이 없어진다.
# 원격 서버의 ~/.tmux.conf에만 적용
unbind C-b
set -g prefix C-a
bind C-a send-prefixPlaintextprefix를 다르게 두는 게 여의치 않다면, C-b C-b처럼 prefix를 두 번 눌러 안쪽 tmux로 신호를 그대로 통과시키는 방법도 있다. ~/.tmux.conf에 bind C-b send-prefix를 추가해두면, 바깥쪽 tmux가 C-b를 한 번 소비하고 그다음 C-b는 안쪽 tmux로 그대로 넘어간다. 서버를 여러 대 오가며 매번 SSH로 원격 tmux에 들어가는 작업이 잦다면, 로컬과 원격의 prefix를 처음부터 다르게 맞춰두는 편이 헷갈릴 일이 적다.
막혔을 때 가장 먼저 확인할 것들
tmux를 쓰다 막히는 지점은 대체로 정해져 있다. detach한 세션을 못 찾거나, prefix가 안 먹거나, 마우스 스크롤이 안 되는 경우가 대부분이다. 원인이 뻔한 편이라 아래 표로 바로 짚을 수 있다.
| 증상 | 원인 | 해결 |
|---|---|---|
| 세션이 사라진 것 같다 | detach된 채 백그라운드에 있음 | tmux ls로 확인 후 tmux attach -t 이름 |
| 단축키가 안 먹는다 | prefix를 안 눌렀거나 앱이 키를 가로챔 | prefix(C-b) 먼저 누르기, C-b ?로 바인딩 확인 |
| 마우스 스크롤이 안 된다 | mouse 설정이 꺼져 있음 | ~/.tmux.conf에 set -g mouse on 추가 후 리로드 |
세션이 사라진 것처럼 보이는 상황은 대부분 detach된 것뿐이라, tmux ls를 먼저 확인하는 습관이 사고를 줄인다. 단축키가 안 먹을 때는 prefix를 눌렀는지부터 점검하고, 그래도 안 되면 셸이나 편집기가 그 키를 가로채는 경우이므로 C-b ?로 실제 바인딩을 확인하면 된다.
FAQ
tmux의 기본 prefix 키는 무엇인가요?
기본 prefix는 C-b(Ctrl+b)다. 모든 tmux 단축키는 이 prefix를 먼저 누른 뒤 명령 키를 누르는 2단계로 동작한다. C-b가 불편하면 ~/.tmux.conf에서 set -g prefix C-a로 바꾸는 경우가 많으며, 이때는 모든 단축키의 C-b를 C-a로 바꿔 누르면 된다.
페인 좌우 분할과 상하 분할 단축키가 헷갈립니다.
C-b %가 좌우 분할, C-b "가 상하 분할이다. %는 세로선을 그어 화면을 왼쪽·오른쪽으로 나눈다고, "는 가로선을 그어 위·아래로 나눈다고 기호 모양으로 외우면 덜 헷갈린다. 나뉜 페인 사이는 C-b + 방향키로 이동한다.
detach한 세션을 다시 여는 방법은?
셸에서 tmux ls로 실행 중인 세션 목록을 확인한 뒤, tmux attach -t 세션이름으로 다시 붙는다. detach(C-b d)해도 세션은 백그라운드에서 계속 살아 있으므로, 원격 서버의 장시간 작업을 걸어두고 나중에 그대로 돌아올 때 이 흐름을 쓴다.
tmux에서 마우스 스크롤이 안 되는데 어떻게 하나요?
기본값이 꺼져 있기 때문이다. ~/.tmux.conf에 set -g mouse on을 추가하고 C-b :source-file ~/.tmux.conf 또는 tmux 재시작으로 반영하면 마우스로 스크롤·페인 선택·크기 조절이 가능해진다. 키보드로 스크롤하려면 복사 모드(C-b [)로 진입한다.
tmux와 screen 중 무엇을 써야 하나요?
새로 시작한다면 tmux를 권한다. tmux는 페인 분할, 스크립트 가능한 설정, 활발한 생태계 면에서 앞서 있고 대부분의 최신 자료가 tmux 기준으로 쓰인다. screen이 이미 깔린 오래된 서버에서 잠깐 쓰는 정도가 아니라면, 학습 투자 대비 효율은 tmux가 낫다.
마무리
tmux를 처음 익힐 때 나도 단축키를 외우려다 지쳐서, 결국 자주 쓰는 열댓 개만 손에 붙이고 나머지는 이런 치트시트를 옆에 띄워두는 쪽으로 정리했다. 특히 C-b z로 페인을 잠깐 키웠다 되돌리는 토글과, C-b d로 떼뒀다가 다음 날 tmux attach로 그대로 돌아오는 흐름 두 가지는 원격 서버 작업 방식을 확실히 바꿔줬다. 처음부터 ~/.tmux.conf로 prefix를 C-a로 바꾸고 마우스를 켜두면 초반 진입장벽이 크게 낮아지니, 키가 손에 익기 전까지는 설정으로 편의를 먼저 확보하는 편을 권한다.
