tmux가 필요한 이유
SSH 접속이 끊겨도 작업이 유지됩니다. 배포 스크립트, 빌드, 모니터링을 tmux 안에서 실행하면 네트워크 문제로 세션이 끊겨도 서버에서 계속 실행됩니다.
세션 관리
Bash
# 새 세션 시작
tmux new -s deploy
# 세션 목록
tmux ls
# 세션 재연결 (detach 후 돌아오기)
tmux attach -t deploy
# 세션 종료
tmux kill-session -t deploy키 바인딩 (기본 prefix: Ctrl+b)
| 단축키 | 동작 |
|---|---|
Ctrl+b d | 세션 detach (세션은 유지) |
Ctrl+b c | 새 창(window) 생성 |
Ctrl+b n / p | 다음 / 이전 창 |
Ctrl+b 0~9 | 창 번호로 이동 |
Ctrl+b % | 세로 패널 분할 |
Ctrl+b " | 가로 패널 분할 |
Ctrl+b 방향키 | 패널 간 이동 |
Ctrl+b z | 현재 패널 전체화면 토글 |
Ctrl+b [ | 스크롤 모드 진입 (q로 종료) |
Ctrl+b , | 창 이름 변경 |
~/.tmux.conf 추천 설정
Bash
# prefix를 Ctrl+a로 변경 (선택 사항)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 마우스 활성화 (스크롤, 패널 클릭)
set -g mouse on
# 창 번호 1부터 시작
set -g base-index 1
setw -g pane-base-index 1
# 상태바 색상
set -g status-bg colour235
set -g status-fg colour136
# 히스토리 크기 늘리기
set -g history-limit 10000
# 설정 즉시 적용
bind r source-file ~/.tmux.conf \; display "Config reloaded!"설정 적용: Ctrl+b r 또는 tmux source ~/.tmux.conf
실무 패턴
Bash
# 배포용 세션 구성 (자동화)
tmux new-session -d -s prod -n monitor
tmux send-keys -t prod:monitor "htop" Enter
tmux new-window -t prod -n logs
tmux send-keys -t prod:logs "tail -f /var/log/app/app.log" Enter
tmux new-window -t prod -n shell
tmux attach -t prod
# 여러 패널에 동시 입력 (동기화)
# Ctrl+b :setw synchronize-panes on스크롤 모드에서 복사
Ctrl+b [로 스크롤 모드 진입- 방향키 또는 PageUp/PageDown으로 이동
Space로 선택 시작, 방향키로 범위 지정Enter로 복사 (tmux 클립보드)Ctrl+b ]로 붙여넣기
편집 안내 · Editorial Note
이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
관련 공식 문서GNU/Linux man 페이지 ↗
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.