본문 바로가기
DevOps

tmux 터미널 단축키 완벽 가이드 | 개발자·서버 관리자 필수 도구

by devcomet 2026. 4. 9.
728x90

멀티플 터미널 세션과 화면 분할을 시각적으로 보여주는 tmux의 디지털 일러스트 썸네일로, 'tmux 터미널 단축키 완벽 가이드'라는 텍스트가 포함되어 있습니다.

핵심 요약

tmux는 하나의 터미널에서 여러 세션·윈도우·패널을 동시에 관리할 수 있는 터미널 멀티플렉서입니다. SSH 세션이 끊겨도 작업을 유지하고, 화면 분할로 여러 작업을 동시에 진행할 수 있어 개발자·서버 관리자에게 필수 도구입니다. 이 가이드에서는 설치부터 핵심 단축키, .tmux.conf 커스터마이징, 실무 활용 팁까지 모두 정리했습니다.

 

2026 오픈소스 AI·SW 지원사업 신청 방법 총정리 – 과기부·NIPA 지원금 받는 법

2026년 과학기술정보통신부·정보통신산업진흥원(NIPA)의 오픈소스 AI·SW 개발·활용 지원사업 신청 자격, 지원 내용, 신청 방법을 한눈에 정리합니다.

benefit.zzamlunch.com


목차

tmux란 무엇인가?

tmux(Terminal Multiplexer)는 하나의 터미널 창에서 여러 개의 터미널 세션을 동시에 실행하고 관리할 수 있는 오픈소스 프로그램입니다. 2007년 처음 개발된 이후, 현재 개발자와 시스템 관리자 사이에서 없어서는 안 될 필수 도구로 자리 잡았습니다.

tmux의 가장 큰 장점은 세션 유지입니다. SSH로 원격 서버에 접속해 작업하다가 네트워크가 끊겨도, tmux 세션은 서버에서 계속 실행됩니다. 다시 접속하면 작업을 이어서 할 수 있죠. 이 기능 하나만으로도 원격 작업 환경에서 tmux는 거의 필수입니다.

주요 특징을 정리하면 다음과 같습니다.

  • 하나의 터미널에서 여러 세션, 윈도우, 패널 관리
  • SSH 연결 종료 후에도 세션 유지 (detach/attach)
  • 화면 수평·수직 분할로 멀티태스킹
  • 강력한 스크립트·자동화 지원
  • GNU screen보다 직관적이고 현대적인 설계

tmux 설치 방법

tmux는 주요 리눅스 배포판의 패키지 관리자를 통해 간단하게 설치할 수 있습니다.

Ubuntu / Debian 계열

sudo apt update
sudo apt install tmux

CentOS / RHEL / Fedora 계열

# CentOS/RHEL
sudo yum install tmux

# Fedora
sudo dnf install tmux

macOS (Homebrew)

brew install tmux

설치 후 버전을 확인합니다.

tmux -V

tmux를 시작하려면 터미널에서 tmux를 입력하면 됩니다. 새로운 세션이 시작되며 화면 아래에 상태바가 표시됩니다.

핵심 개념: 세션 / 윈도우 / 패널

tmux를 처음 접하면 세션, 윈도우, 패널(pane)이라는 3단계 계층 구조가 헷갈릴 수 있습니다. 한 번만 이해하면 매우 직관적입니다.

세션 (Session)

tmux의 최상위 단위입니다. 하나의 작업 맥락(context)이라고 생각하면 됩니다. 예를 들어 "웹서버 관리용 세션", "개발 프로젝트용 세션"처럼 목적별로 구분할 수 있습니다. 세션은 detach(분리)해도 백그라운드에서 계속 실행됩니다.

윈도우 (Window)

세션 내의 탭(tab)과 같습니다. 브라우저의 탭처럼 여러 윈도우를 열어두고 전환할 수 있습니다. 각 윈도우는 독립적인 터미널 환경이며, 하단 상태바에 번호와 이름으로 표시됩니다.

패널 (Pane)

윈도우를 분할한 각각의 터미널 영역입니다. 하나의 윈도우를 수평 또는 수직으로 나눠 여러 명령을 동시에 볼 수 있습니다. 예를 들어 왼쪽에서 로그를 보면서 오른쪽에서 코드를 편집할 수 있습니다.

계층 구조 요약: tmux 데몬 → 세션(Session) → 윈도우(Window) → 패널(Pane)

tmux 공식 GitHub 바로가기 →

필수 단축키 완벽 정리

tmux의 모든 단축키는 Prefix 키로 시작합니다. 기본 Prefix 키는 Ctrl + b입니다. Prefix를 먼저 누른 후 손을 떼고 다음 키를 누릅니다.

예: 새 윈도우 열기 → Ctrl+b 누른 후 손 떼고 → c 누르기

세션 관리 단축키

단축키 설명
tmux new -s 이름 이름을 지정해 새 세션 시작
tmux ls 세션 목록 보기
tmux attach -t 이름 세션에 다시 접속
Prefix + d 현재 세션에서 분리 (detach)
Prefix + $ 세션 이름 변경
Prefix + s 세션 목록 및 전환
tmux kill-session -t 이름 세션 종료

윈도우 관리 단축키

단축키 설명
Prefix + c 새 윈도우 생성
Prefix + n 다음 윈도우로 이동
Prefix + p 이전 윈도우로 이동
Prefix + 숫자 번호로 윈도우 전환 (0~9)
Prefix + , 윈도우 이름 변경
Prefix + w 윈도우 목록 보기 (선택 전환)
Prefix + & 현재 윈도우 닫기 (확인 필요)

패널(Pane) 관리 단축키

단축키 설명
Prefix + % 수직 분할 (좌우)
Prefix + " 수평 분할 (위아래)
Prefix + 방향키 패널 간 이동
Prefix + o 다음 패널로 순환 이동
Prefix + z 현재 패널 최대화/복원 (zoom)
Prefix + x 현재 패널 닫기
Prefix + Ctrl+방향키 패널 크기 조절
Prefix + q 패널 번호 표시
Prefix + { / Prefix + } 패널 위치 앞/뒤로 이동

기타 유용한 단축키

단축키 설명
Prefix + [ 스크롤 모드 진입 (방향키로 스크롤, q로 종료)
Prefix + : 명령어 입력 모드
Prefix + ? 단축키 목록 전체 보기
Prefix + t 현재 시각 표시
Prefix + r 화면 새로고침 (설정 적용 후 주로 사용)

tmux 치트시트 전체 보기 →

.tmux.conf 커스터마이징

tmux는 홈 디렉터리의 ~/.tmux.conf 파일로 설정을 커스터마이징할 수 있습니다. 아래는 실무에서 많이 사용하는 설정 예시입니다.

# Prefix 키를 Ctrl+a로 변경 (GNU screen 스타일)
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# 마우스 지원 활성화 (tmux 2.1 이상)
set -g mouse on

# 패널 분할 단축키를 직관적으로 변경
bind | split-window -h  # 수직 분할
bind - split-window -v  # 수평 분할
unbind '"'
unbind %

# 패널 이동을 vi 스타일로
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# 256색 지원
set -g default-terminal "screen-256color"

# 상태바 색상 및 날짜/시간 정보 표시
set -g status-bg colour235
set -g status-fg colour136
set -g status-right "#[fg=colour136]%Y-%m-%d %H:%M"

# 히스토리 라인 수 증가
set -g history-limit 10000

# 설정 파일 리로드 단축키
bind r source-file ~/.tmux.conf \; display "설정을 다시 불러왔습니다!"

설정 파일을 수정한 후에는 tmux 세션 안에서 아래 명령을 실행해 바로 적용합니다.

tmux source-file ~/.tmux.conf
# 또는 위에서 설정한 단축키 사용: Prefix + r

TPM(Tmux Plugin Manager)를 사용하면 플러그인으로 더 강력한 기능을 추가할 수 있습니다. 대표적인 플러그인으로는 tmux-resurrect(세션 저장/복원), tmux-continuum(자동 저장), tmux-powerline(상태바 강화) 등이 있습니다. 시스템이 재부팅되어도 이전 작업 환경을 그대로 복원할 수 있어 개발자에게 큰 도움이 됩니다.

tmux vs GNU screen 비교

tmux 이전에는 GNU screen이 터미널 멀티플렉서의 표준이었습니다. 두 도구를 비교해보겠습니다.

기능 tmux GNU screen
화면 분할 수직·수평 모두 지원, 직관적 수평만 지원 (구 버전)
설정 파일 ~/.tmux.conf (직관적) ~/.screenrc (복잡)
클라이언트-서버 구조 명확한 분리 단일 프로세스
스크립트/자동화 매우 강력 (send-keys 등) 제한적
상태바 커스터마이징 고도로 커스터마이즈 가능 기본적
플러그인 생태계 TPM 등 활발 거의 없음
개발 활성도 활발히 유지보수 중 느린 업데이트
다중 클라이언트 지원 동일 세션 동시 접속 가능 제한적

결론적으로, 새로 시작한다면 tmux를 선택하는 것이 압도적으로 유리합니다. GNU screen은 일부 레거시 서버 환경에서 이미 설치되어 있을 때 사용하는 정도로 충분합니다. 현재 대부분의 리눅스 배포판에는 tmux가 기본 또는 권장 도구로 포함되어 있습니다.

실무 활용 팁

SSH 원격 작업 안정화

원격 서버 작업 시 반드시 tmux를 사용하세요. 네트워크 불안정으로 SSH 연결이 끊겨도 tmux 세션은 서버에서 계속 실행됩니다.

# 서버 접속 후 바로 세션 생성
ssh user@server
tmux new -s work

# 다음번 접속 시 기존 세션 복원
ssh user@server
tmux attach -t work
# 또는 세션이 하나뿐이면
tmux a

개발 환경 자동 구성 스크립트

tmux 세션과 레이아웃을 셸 스크립트로 자동 구성하면 개발 환경을 한 번에 열 수 있습니다. 매일 반복되는 환경 설정 시간을 크게 줄여줍니다.

#!/bin/bash
# dev.sh - 개발 환경 자동 구성

SESSION="dev"

tmux new-session -d -s $SESSION

# 첫 번째 윈도우: 에디터
tmux rename-window -t $SESSION:0 'editor'
tmux send-keys -t $SESSION:0 'vim .' C-m

# 두 번째 윈도우: 서버
tmux new-window -t $SESSION:1 -n 'server'
tmux send-keys -t $SESSION:1 'npm run dev' C-m

# 세 번째 윈도우: 로그 & Git (좌우 분할)
tmux new-window -t $SESSION:2 -n 'logs'
tmux split-window -h -t $SESSION:2
tmux send-keys -t $SESSION:2.0 'tail -f logs/app.log' C-m
tmux send-keys -t $SESSION:2.1 'git log --oneline' C-m

# 에디터 윈도우로 포커스
tmux select-window -t $SESSION:0
tmux attach-session -t $SESSION

멀티 패널 로그 모니터링

여러 서비스의 로그를 동시에 확인해야 할 때 패널 분할이 매우 유용합니다. 서버 장애 대응 시 특히 효과적입니다.

# 세 개의 패널로 로그 모니터링
tmux new -s monitor
tmux split-window -h
tmux split-window -v -t 0

# 각 패널에 로그 명령 전송
tmux send-keys -t monitor:0.0 'tail -f /var/log/nginx/access.log' C-m
tmux send-keys -t monitor:0.1 'tail -f /var/log/mysql/error.log' C-m
tmux send-keys -t monitor:0.2 'tail -f /var/log/app/app.log' C-m

공동 작업 (페어 프로그래밍)

같은 tmux 세션에 여러 사람이 동시 접속하면 같은 화면을 보면서 작업할 수 있습니다. 원격 페어 프로그래밍이나 별도 화면 공유 도구 없이 실시간 협업이 가능합니다.

# 호스트: 세션 생성
tmux new -s pair

# 게스트: 동일 세션에 접속
ssh user@server
tmux attach -t pair

tmux 입문 완전 가이드 (영문) →

자주 묻는 질문 (FAQ)

Q1. tmux와 screen 중 어떤 것을 써야 하나요?

새로 시작하는 경우라면 tmux를 강력히 추천합니다. tmux는 더 직관적인 설정, 강력한 패널 분할, 활발한 플러그인 생태계를 제공합니다. GNU screen은 일부 구형 서버에서 이미 설치되어 있을 때 사용하는 정도로 충분합니다.

Q2. tmux 세션이 갑자기 종료됩니다. 어떻게 해야 하나요?

세션 내 모든 윈도우와 패널이 닫히면 세션도 종료됩니다. 실수로 세션이 종료되지 않도록 tmux-resurrect 플러그인을 사용해 세션을 주기적으로 저장하는 것을 권장합니다. 또한 Prefix + d로 세션을 detach(분리)하면 세션이 백그라운드에서 유지됩니다.

Q3. tmux에서 마우스 스크롤이 안 됩니다.

~/.tmux.confset -g mouse on을 추가하면 마우스 스크롤과 클릭으로 패널 선택이 가능해집니다. tmux 2.1 이상 버전에서 지원합니다. 설정 후 tmux source-file ~/.tmux.conf로 적용하세요.

Q4. tmux 안에서 복사·붙여넣기는 어떻게 하나요?

Prefix + [로 스크롤/복사 모드에 진입하면 방향키로 이동하고 Space로 선택 시작, Enter로 복사합니다. 붙여넣기는 Prefix + ]입니다. 마우스 모드 활성화 시에는 일반적인 마우스 드래그 후 Ctrl+Shift+c/v를 사용하면 됩니다.

Q5. Windows에서도 tmux를 쓸 수 있나요?

Windows에서는 WSL(Windows Subsystem for Linux)을 설치하면 tmux를 그대로 사용할 수 있습니다. Windows Terminal과 함께 사용하면 더욱 쾌적한 환경이 됩니다. Git Bash나 Cygwin 환경에서도 제한적으로 사용 가능합니다.

728x90
home 기피말고깊이 tnals1569@gmail.com