서버에서 6시간짜리 백업 스크립트를 돌려놓고 퇴근하려는데 SSH 연결이 갑자기 끊긴 적, 한 번쯤 있으실 거예요. 저는 신입 때 그것 때문에 토요일 새벽에 다시 출근한 적이 있습니다. 결국 사수가 "tmux 한 번 써봐"라고 한 마디 하셔서 정착했는데, 이게 진짜 신세계더라고요. 오늘은 tmux를 처음 쓰는 분도 바로 따라할 수 있게 핵심만 골라서 정리해볼게요.
개념 / 원리
tmux는 터미널 멀티플렉서(Terminal Multiplexer) 입니다. 이름이 어렵지만 풀어쓰면 간단해요.
- 터미널 세션을 서버 백그라운드에 띄워두고 계속 실행시킨다.
- SSH가 끊겨도 세션은 살아 있다.
- 다시 접속해서
tmux attach한 줄이면 끊겼던 화면으로 그대로 돌아간다.
비유하자면 tmux는 항상 켜져 있는 가상의 모니터입니다. SSH는 그 모니터에 케이블을 꽂는 행위고요. 케이블이 빠져도 모니터는 켜져 있죠.
구조는 세 단계입니다.
세션(Session)
└─ 윈도우(Window)
└─ 페인(Pane)- 세션: tmux의 가장 큰 단위. 보통 작업 단위로 하나씩 만듭니다.
- 윈도우: 세션 안의 탭. 브라우저 탭과 비슷한 느낌.
- 페인: 윈도우를 가로/세로로 쪼갠 영역.
실전 예제
1. 설치
대부분 리눅스에 이미 깔려 있지만 없으면:
# Ubuntu/Debian
sudo apt install tmux
# CentOS/RHEL
sudo yum install tmux
tmux -V
2. 세션 시작과 종료
# 새 세션 시작
tmux
# 이름 지정해서 시작 (추천)
tmux new -s backup
# 세션 밖으로 빠져나오기 (detach, 세션은 살아있음)
# 단축키: Ctrl+b d
# 모든 세션 보기
tmux ls
# 세션에 다시 들어가기
tmux attach -t backup
tmux a -t backup
# 세션 완전히 죽이기
tmux kill-session -t backup
핵심은 Ctrl+b d 입니다. 이걸로 빠져나와야 세션이 살아 있고, 그냥 exit를 치면 세션이 종료됩니다.
3. tmux 기본 키 (Prefix는 Ctrl+b)
tmux의 모든 단축키는 Ctrl+b를 누른 다음 입력합니다. 이걸 prefix라고 합니다.
| 키 | 동작 |
|---|---|
Ctrl+b d |
세션 detach |
Ctrl+b c |
새 윈도우 만들기 |
Ctrl+b n |
다음 윈도우 |
Ctrl+b p |
이전 윈도우 |
Ctrl+b 0~9 |
해당 번호 윈도우로 |
Ctrl+b , |
윈도우 이름 변경 |
Ctrl+b % |
세로 페인 분할 |
Ctrl+b " |
가로 페인 분할 |
Ctrl+b 방향키 |
페인 간 이동 |
Ctrl+b x |
현재 페인 닫기 |
Ctrl+b z |
현재 페인 최대화/원복 |
4. 실전 시나리오 - 장시간 백업 작업
# 1. SSH 접속
ssh user@server
# 2. tmux 세션 시작
tmux new -s nightly-backup
# 3. 백업 스크립트 실행
./backup_db.sh
# 4. 진행 중에 Ctrl+b d 로 빠져나옴
# 5. SSH도 끊어도 됨
# 6. 한참 뒤 다시 접속
ssh user@server
tmux attach -t nightly-backup
# 백업 스크립트가 계속 돌고 있음
5. 페인 분할로 모니터링하며 작업
한 화면에서 tail -f 로그와 작업창을 동시에:
Ctrl+b " # 가로 분할
Ctrl+b 위방향키 # 위 페인으로 이동
tail -f /var/log/myapp.log
Ctrl+b 아래방향키 # 아래로 이동해서 작업 계속6. 간단한 설정 파일
~/.tmux.conf에 자주 쓰는 설정:
# 마우스로 페인 선택/리사이즈 가능하게
set -g mouse on
# 윈도우 번호 1부터 시작
set -g base-index 1
# 히스토리 크기 늘리기
set -g history-limit 10000
# 컬러 설정
set -g default-terminal "screen-256color"
수정 후 tmux source-file ~/.tmux.conf 또는 tmux 안에서 Ctrl+b :source-file ~/.tmux.conf.
자주 하는 실수
1. Ctrl+b 안 누르고 바로 단축키 입력
저도 처음엔 c 누르면 새 창 열리는 줄 알았는데, 항상 prefix Ctrl+b 먼저입니다. Ctrl+b는 동시에 누르고, 그 다음 키는 손 떼고 누릅니다.
2. exit으로 세션 종료
세션 안에서 exit를 치면 그 페인이 닫히고, 페인이 다 닫히면 세션도 종료됩니다. 세션을 유지하려면 반드시 Ctrl+b d.
3. 세션 이름 안 정함
tmux ls로 보면 0, 1, 2 같은 번호로만 떠서 어떤 세션이 뭔지 헷갈립니다. 처음부터 tmux new -s 이름으로 시작하는 습관을 들이세요.
4. screen과 헷갈림
오래된 서버엔 screen만 깔려있는 경우도 있는데, prefix가 다릅니다(screen은 Ctrl+a). 둘 다 비슷한 도구지만 tmux 쪽이 활발히 유지보수되고 있어요.
마무리
정리하면 세 줄입니다.
- tmux는 SSH가 끊겨도 살아 있는 가상 터미널.
tmux new -s 이름과Ctrl+b d만 기억해도 절반은 익힌 것. - 세션 → 윈도우 → 페인 3단 구조, prefix
Ctrl+b누르고 나서 단축키. ~/.tmux.conf에set -g mouse on한 줄만 추가해도 삶의 질이 달라진다.
'IT·리눅스 > 리눅스' 카테고리의 다른 글
| iptables 기본 룰 짜기 - INPUT/OUTPUT/FORWARD 체인 이해 (0) | 2026.07.08 |
|---|---|
| 리눅스 메모리 - RSS, VSZ, Shared 실제로 얼마를 쓰는 걸까 (0) | 2026.07.06 |
| 프로세스 vs 스레드 - 리눅스의 PID, TID, PPID 한 번에 정리 (0) | 2026.06.18 |
| find 명령어 실전 활용 - 운영에서 진짜 쓰는 10가지 패턴 (0) | 2026.06.17 |
| 디스크 I/O 모니터링 - iostat과 iotop으로 병목 잡기 (0) | 2026.06.16 |