Tmux는 하나의 터미널 창에서 여러 작업을 동시에 할 수 있게 해주는 도구입니다. 여러 창을 띄우지 않고도 화면을 분할하고, 작업을 유지한 채로 세션을 전환할 수 있습니다.
이 글에서 할 것
- Tmux가 해결하는 문제 이해하기
- 세션/윈도우/패널 개념 알아보기
- Tmux가 내 workflow에 맞는지 판단하기
왜 이 도구가 필요한가
현재 상황: 웹 개발 중입니다
필요한 작업:
- 코드 편집을 위한 Vim
- 웹 서버 실행
- Git 상태 확인
Tmux 없이 하는 방법:
- 터미널 창 1개 - Vim 실행
- 터미널 창 2개 - 서버 실행
- 터미널 창 3개 - Git 확인
문제점:
- 창이 너무 많아져서 관리가 어려움
- 창 전환할 때마다 Command+Tab
- 창을 닫으면 작업 내용이 사라짐
Tmux를 사용하면:
- 하나의 창에서 화면 분할
- 세션을 종료핵도 작업 유지
- 세션 간 자유롭게 전환
먼저 한 번 체험핵 보기
Tmux의 3가지 핵심 개념
1. 세션 (Session) 작업 단위입니다. 하나의 프로젝트 = 하나의 세션
예시:
- "웹사이트 프로젝트" 세션
- "공부" 세션
- "서버 관리" 세션
2. 윈도우 (Window) 세션 안의 탭입니다. 브라우저 탭처럼 사용
예시:
- 웹사이트 세션 안에:
- Window 1: 코드 편집
- Window 2: 서버 로그
- Window 3: Git
3. 패널 (Pane) 화면 분할 단위입니다. 하나의 윈도우를 여러 영역으로 나눔
예시:
┌────────────────────────┬────────────────────────────────────┐
│ username@macbook ~ % │ username@macbook ~ % │
│ $ vim app.py │ $ python server.py │
│ │ Starting server on port 8000... │
│ 1 import flask │ │
│ 2 │ │
│~ │ │
└────────────────────────┴────────────────────────────────────┘
왼쪽에서는 코드를 편집하고, 오른쪽에서는 서버 로그를 실시간으로 확인할 수 있습니다.
이 도구를 쓰면 달라지는 점
비교: Tmux 없이 vs Tmux 사용
| 작업 | Tmux 없이 | Tmux 사용 |
|---|---|---|
| 화면 분할 | 불가능 | Ctrl+b " 또는 % |
| 세션 유지 | 창 닫으면 끝 | Detach 후 재접속 가능 |
| 세션 전환 | Command+Tab | Ctrl+b s |
| 작업 단위 관리 | 창 단위 | 프로젝트 단위 |
예시 상황:
Tmux 없이:
1. iTerm2 창 1개: Vim으로 코드 편집
2. iTerm2 창 2개: npm start로 서버 실행
3. iTerm2 창 3개: git log 확인
→ Command+Tab으로 창 왔다갔다
→ 창 하나 닫으면 그 작업은 끝
Tmux 사용:
하나의 iTerm2 창:
- 세션: "myproject"
- 윈도우 1: 코드 편집 (Vim)
- 윈도우 2: 서버 로그 (패널 분할로 좌우 나눠서 보기)
- 윈도우 3: Git 작업
→ Ctrl+b + 숫자로 윈도우 전환
→ 창을 닫아도 세션은 유지됨 (나중에 재접속 가능)
이런 사람에게 특히 추천
- 여러 작업을 동시에 하고 싶은 개발자
- 터미널 창 여러 개 관리가 어려운 사람
- 화면을 분할해서 효율적으로 작업하고 싶은 사람
- SSH로 서버에 접속해서 장시간 작업하는 사람
- 창을 닫아도 작업을 유지하고 싶은 사람
한 번에 정리
| 상황 | Tmux 없이 | Tmux 사용 |
|---|---|---|
| 코드 + 서버 로그 동시 보기 | 창 2개 필요 | 한 화면에서 패널 분할 |
| 작업 중 창을 닫음 | 작업 끝 | Detach로 작업 유지 |
| 프로젝트 전환 | 창 모두 정리 | 세션 전환으로 즉시 이동 |
| 서버 SSH 작업 | 연결 끊기면 작업 끝 | 세션 유지되어 복귀 가능 |
다음 편 안내
Tmux의 개념을 이해하셨다면, 이제 직접 설치하고 첫 세션을 만들어 봅시다.
Tmux 시리즈 2편: 설치하고 첫 세션 만들기에서는 Homebrew로 Tmux를 설치하고, 첫 세션을 만들고, 기본 단축키를 실습합니다.
실습 완료 체크리스트
- Tmux가 필요한 상황 이해
- 세션/윈도우/패널 개념 파악
- 다음 편에서 실제 설치 예정
💬 댓글
이 글에 대한 의견을 남겨주세요