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 줘. 서버에 한 번 로그인; 거기 안에 셸 열 개 돌고, 로그아웃 해도 다 살아있어.

일반 영어로 킬러 기능들

  • 영구 세션. 세션에서 detach, 터미널 닫고, 이틀 걸어가 — 모든 돌고 있는 프로세스, 모든 열린 파일, 모든 커서 위치가 정확히 그대로. 이게 사람들이 tmux 에 evangelical 해지는 이유.
  • SSH 끊겨도 작업 안 죽어. 와이파이 deploy 중간에 끊겨? Tmux 없는 SSH 세션이면 스크립트 죽어. 박스의 tmux 세션이면 스크립트 계속 돌고; 다시 연결되면 reattach.
  • Fancy 터미널 없이 split pane. 내장 split 이 macOS Terminal, Linux VPS 에 SSH, 시리얼 통한 Raspberry Pi 어디서든 똑같이 작동.
  • 여러 window. 브라우저 탭처럼, 셸용.
  • 스크립트 가능한 레이아웃. 워크스페이스 한 번 정의 ("editor + dev 서버 + 로그 tail 세 pane 으로 열기") 하고 한 셸 명령으로 띄움.
  • 페어 프로그래밍. 두 사용자가 같은 머신에 SSH 해서 같은 tmux 세션에 attach — 둘 다 서로의 키스트로크를 실시간으로 봐.

"지금 tmux 배우기" 가 옳은 답인 이유

현대 터미널 (iTerm2, Wezterm, Ghostty, Kitty) 이 자체 split 과 tab 을 갖고 있어. 좋아. 근데 로컬에서만 작동. 서버에 SSH 하는 순간 그 기능들 도움 안 돼. tmux 는 리모트 머신에서 돌아가니까, split 과 영속성과 레이아웃이 어떤 터미널 에뮬레이터 앞에 앉아 있든 따라와.

계층

중첩된 세 개념; 단어 지금 익혀, 키는 다음 레슨:

  • 세션 — 이름 붙은 워크스페이스. 보통 프로젝트당 한 개. "work", "cwk-pippa", "vim-tmux-quest."
  • Window — 세션 안의 브라우저 탭 같은 거. 세션이 여러 window 가질 수 있음.
  • Pane — window 안의 split. 여러 셸 동시 표시.
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 같은 long-running 명령 실행. Ctrl-b d 로 detach. tmux ls 로 명령이 여전히 돌고 있는지 검증. tmux attach 로 reattach. 그 다음 터미널 앱 자체를 완전히 닫고, fresh 터미널 다시 열어서 tmux attach 다시 실행 — 세션이 여전히 거기 있어.

Progress

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

댓글 0

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

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