Skip to content
 
 

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

tmux 튜토리얼

WSL과 원격 Ubuntu 서버(SSH)에서 tmux를 배우기 위한 대화형 튜토리얼입니다.

tmux란?

tmux(Terminal Multiplexer)는 하나의 터미널 안에서 여러 터미널 세션을 만들고 관리할 수 있는 도구입니다.

  • SSH 연결이 끊겨도 작업이 유지됩니다
  • 화면을 분할하여 동시에 여러 작업을 할 수 있습니다
  • 프로젝트별 세션으로 작업 맥락을 보존할 수 있습니다

사전 준비 (WSL / Ubuntu)

1. 시스템 업데이트

sudo apt update && sudo apt upgrade -y

2. tmux 설치 확인

tmux -V

버전이 출력되면 이미 설치된 상태입니다. command not found가 나오면 설치합니다:

sudo apt install tmux

3. Claude Code 설치

curl -fsSL https://claude.ai/install.sh | bash

설치 후 PATH를 등록합니다:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

설치 확인:

claude --version

4. 튜토리얼 실행

이 레포 디렉터리에서 Claude Code를 실행하면 tmux 튜토리얼 스킬이 자동으로 활성화됩니다:

cd ~/Project/tmux-tutorial   # 레포 디렉터리로 이동
claude                       # Claude Code 실행

실행 후 아래와 같이 입력하면 튜토리얼이 시작됩니다:

tmux 튜토리얼 시작하자

핵심 구조

tmux 서버
└── 세션 (Session) - 작업 공간
    └── 윈도우 (Window) - 탭
        └── 패인 (Pane) - 화면 분할 영역

주요 단축키

모든 단축키는 prefix(Ctrl-b)를 누른 뒤 손을 떼고 명령키를 누릅니다.

세션

단축키 설명
Ctrl-b d 세션 분리 (detach)
Ctrl-b s 세션 목록/전환
Ctrl-b $ 세션 이름 변경

윈도우

단축키 설명
Ctrl-b c 새 윈도우
Ctrl-b n / p 다음 / 이전 윈도우
Ctrl-b 0~9 번호로 이동
Ctrl-b w 목록에서 선택
Ctrl-b , 이름 변경

패인

단축키 설명
Ctrl-b % 수직 분할 (좌/우)
Ctrl-b " 수평 분할 (상/하)
Ctrl-b 방향키 패인 이동
Ctrl-b z 전체화면 토글
Ctrl-b x 패인 닫기

스크롤 / 복사

단축키 설명
Ctrl-b [ 스크롤 모드 진입
q / Esc 스크롤 모드 종료
Ctrl-b ] 붙여넣기

자주 쓰는 명령어

tmux new -s work                          # 이름 지정하여 세션 생성
tmux ls                                   # 세션 목록
tmux attach -t work                       # 세션 복귀
tmux kill-session -t work                 # 세션 종료
tmux attach -t work || tmux new -s work   # 있으면 붙고, 없으면 생성

SSH + tmux 워크플로우

ssh user@server
tmux attach -t main || tmux new -s main   # 세션 접속
# 작업...
# Ctrl-b d                                # 분리
exit                                      # SSH 종료

# 나중에 다시 접속 → tmux attach -t main → 작업 그대로!

SSH가 갑자기 끊겨도 tmux 세션은 서버에서 살아있습니다. 다시 접속해서 tmux attach하면 됩니다.

추천 설정 (~/.tmux.conf)

# 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

# 직관적 분할 (현재 경로 유지)
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"

# 설정 리로드
bind r source-file ~/.tmux.conf \; display-message "Config reloaded!"

추천 플러그인

TPM 설치 후:

  • tmux-resurrect - 세션 저장/복원
  • tmux-continuum - 자동 저장

실전 시나리오

서버에서 빌드 돌려놓고 퇴근

ssh user@server → tmux new -s build → make build-all → Ctrl-b d → exit
# 다음 날: ssh → tmux attach -t build

개발 환경 (3분할)

┌──────────┬──────────┐
│          │ 서버     │
│ 에디터   ├──────────┤
│          │ 로그     │
└──────────┴──────────┘

학습 범위

  1. tmux 개념과 설치
  2. 세션 생성, 분리, 복귀
  3. 윈도우와 패인으로 화면 분할
  4. 스크롤, 복사/붙여넣기, 명령 모드
  5. SSH + tmux 실전 워크플로우
  6. .tmux.conf 설정과 플러그인
  7. 실전 시나리오

About

WSL과 원격 Ubuntu 서버(SSH)에서 tmux를 배우기 위한 대화형 튜토리얼

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors