본문 바로가기
C.W.K.
Stream
Lesson 01 of 03 · published

Tmux가 뭐고 왜 쓰는가

~11 min · tmux, philosophy, terminal

Level 0갇힌 자
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

tmux는 터미널 멀티플렉서야

멀티플렉서는 입구 하나를 받아서 여러 갈래로 나눠주는 장치야. tmux는 터미널 연결 하나 (로컬 터미널이든 SSH 세션 하나든) 를 받아서 그 안에 오래 살아남는 window와 pane을 여러 개 만들어줘. 서버에 한 번만 로그인하면 그 안에서 셸 열 개가 돌고, 로그아웃해도 다 그대로 살아 있어.

쉬운 말로 정리한 킬러 기능들

  • 세션이 안 죽어. 세션에서 빠져나오고, 터미널을 닫고, 이틀 동안 손을 놔도 돼. 돌고 있던 프로세스도, 열려 있던 파일도, 커서 위치까지도 그대로야. 사람들이 tmux 전도사가 되는 이유가 이거야.
  • SSH가 끊겨도 작업은 안 죽어. 배포 도중에 와이파이가 나갔다고 해봐. tmux 없이 SSH만 붙어 있었다면 스크립트가 같이 죽어. 서버 쪽 tmux 세션 안에서 돌고 있었다면 스크립트는 계속 가고, 다시 연결해서 붙기만 하면 돼.
  • 고급 터미널 없이도 pane을 나눠 써. tmux가 직접 나눠주니까 macOS Terminal이든, SSH로 들어간 Linux VPS든, 시리얼로 붙은 Raspberry Pi든 어디서나 똑같이 동작해.
  • window를 여러 개 둘 수 있어. 브라우저 탭 같은 건데, 셸용이지.
  • 배치를 스크립트로 짤 수 있어. 작업 공간을 한 번 정의해두고 ("에디터, 개발 서버, 로그 세 pane으로 열어") 셸 명령 하나로 띄우는 거야.
  • 같이 짤 수 있어. 두 사람이 같은 머신에 SSH로 들어와 같은 tmux 세션에 붙으면 서로의 키 입력이 실시간으로 보여.

"지금 tmux를 배워라"가 맞는 답인 이유

요즘 터미널 (iTerm2, Wezterm, Ghostty, Kitty) 은 자기만의 split과 tab을 갖고 있어. 좋은 일이지. 문제는 그게 로컬에서만 먹힌다는 거야. 서버에 SSH로 들어가는 순간 그 기능들은 아무 도움이 안 돼. tmux는 리모트 머신 쪽에서 도니까, split도 영속성도 배치도 내가 어떤 터미널 앞에 앉아 있든 그대로 따라와.

계층

세 개념이 겹겹이 들어 있어. 단어만 먼저 익혀두고, 키는 다음 레슨에서 볼게.

  • 세션 — 이름을 붙인 작업 공간. 보통 프로젝트마다 하나야. "work", "cwk-pippa", "vim-tmux-quest" 이런 식으로.
  • Window — 세션 안의 브라우저 탭 같은 거. 세션 하나에 window가 여러 개 들어가.
  • Pane — window를 나눈 칸. 셸 여러 개를 한 화면에 띄워줘.
tmux가 맡은 일은 하나야. 상태를 절대 잃지 않기. 에디터는 왔다 가지만 tmux는 그 아래 층에서 맥락을 붙들고 있어. "와이파이 죽었는데 아무것도 안 날아갔네" 하는 순간을 한 번만 겪어보면 tmux는 평생 간다.

Code

tmux 설치·bash
# macOS
brew install tmux

# Ubuntu / Debian
sudo apt install tmux

# Fedora
sudo dnf install tmux

# Arch / Manjaro
sudo pacman -S tmux

# 검증 (2026 에서 3.4+ 여야 함; 많은 현대 기능이 3.0+ 가정)
tmux -V
tmux 처음 1분·bash
tmux                # 세션 시작
# (이제 tmux 안 — 아래 초록 바 = status 라인)

# 셸에서 뭐든 입력, htop 실행, 뭐든.
# 이제 detach (마법의 키 콤보):
Ctrl-b d            # Ctrl-b 누르고, 떼고, d 누르기
# 보통 셸로 돌아옴. tmux 세션은 여전히 살아있음.

tmux ls             # 세션 리스트 — 세션 여전히 있음
tmux attach         # 가장 최근 세션에 reattach
# 짠 — htop 여전히 돌고, 출력 여전히 있음.

External links

Exercise

tmux를 깔아. 인자 없이 tmux를 실행하고, 세션 안에서 top이나 tail -f /var/log/syslog처럼 계속 도는 명령을 하나 띄워. Ctrl-b d로 빠져나온 다음 tmux ls로 그 명령이 아직 도는지 확인하고, tmux attach로 다시 붙어. 그다음엔 터미널 앱 자체를 완전히 닫고 새로 열어서 tmux attach를 다시 해봐 — 세션은 여전히 거기 있어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.