문서 보기이전 판역링크맨 위로 이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요. {{tag>[cli terminal multiplexer tmux session window pane]}} ====== tmux ====== 하나의 terminal에서 여러 shell과 program을 session, window, pane으로 구성하고 detach 후 다시 attach할 수 있는 terminal multiplexer. ===== Summary ===== * server가 session, window, pane 상태를 유지하고 client가 terminal을 통해 attach한다. * SSH 연결이 끊겨도 session 안의 process를 계속 실행할 수 있다. * 기본 prefix는 <kbd>Ctrl</kbd>+<kbd>b</kbd>이며, prefix 다음에 command key를 누른다. * shell command와 tmux command prompt에서 같은 tmux command를 사용할 수 있다. ===== Installation ===== <code bash> # Debian / Ubuntu sudo apt update sudo apt install tmux # Fedora sudo dnf install tmux # RHEL / CentOS sudo yum install tmux # macOS Homebrew brew install tmux # 설치 확인 tmux -V </code> * upstream 설치 문서는 Arch Linux, openSUSE, MacPorts와 source build 방법도 안내한다. * distribution package는 최신 upstream release보다 오래된 version일 수 있다. * upstream 설치 문서에는 Windows native 또는 ''winget'' 설치 방법이 안내되지 않는다. Windows에서는 WSL의 Linux distribution 안에 설치하는 방식을 고려한다. ===== Usage ===== <code bash> tmux [GLOBAL_OPTIONS] [COMMAND [COMMAND_OPTIONS] [ARGS...]] </code> * ''<color #c3c3c3>**tmux**</color> <color #22b14c>[GLOBAL_OPTIONS]</color> <color #ff7f27>[COMMAND]</color> <color #22b14c>[COMMAND_OPTIONS]</color> <color #7092be>[ARGS...]</color>'' * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>new-session</color> <color #22b14c>-s</color> <color #7092be>NAME</color>'' * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>attach-session</color> <color #22b14c>-t</color> <color #7092be>NAME</color>'' * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>split-window</color> <color #22b14c>[-h|-v]</color>'' ===== Options ===== ==== Global Options ==== * ''<color #22b14c>**-f**</color> <color #7092be>FILE</color>'': 기본 config 대신 지정한 file을 읽는다. * ''<color #22b14c>**-L**</color> <color #7092be>SOCKET_NAME</color>'': 별도 server socket 이름을 사용한다. * ''<color #22b14c>**-S**</color> <color #7092be>SOCKET_PATH</color>'': server socket의 전체 경로를 지정한다. * ''<color #22b14c>**-V**</color>'': tmux version을 출력한다. * ''<color #22b14c>**-v**</color>'': verbose logging을 사용한다. 반복하면 verbosity가 증가한다. <note important> 각 tmux command의 option은 command 뒤에 둔다. 예를 들어 session 이름을 지정하는 ''-s''는 ''new-session''의 option이다. </note> ===== Commands ===== ==== Session ==== * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>new-session</color> <color #22b14c>[-AdDEPX] [-s</color> <color #7092be>NAME</color><color #22b14c>]</color>'': 새 session을 만든다. alias는 ''new''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>attach-session</color> <color #22b14c>[-dErx] [-t</color> <color #7092be>TARGET_SESSION</color><color #22b14c>]</color>'': 기존 session에 attach한다. alias는 ''attach''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>list-sessions</color>'': session 목록을 표시한다. alias는 ''ls''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>rename-session</color> <color #22b14c>-t</color> <color #7092be>TARGET_SESSION NEW_NAME</color>'': session 이름을 바꾼다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>kill-session</color> <color #22b14c>-t</color> <color #7092be>TARGET_SESSION</color>'': 지정한 session을 종료한다. ==== Window and Pane ==== * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>new-window</color> <color #22b14c>[-dn] [-n</color> <color #7092be>NAME</color><color #22b14c>]</color>'': 현재 session에 window를 만든다. alias는 ''neww''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>list-windows</color> <color #22b14c>[-t</color> <color #7092be>TARGET_SESSION</color><color #22b14c>]</color>'': window 목록을 표시한다. alias는 ''lsw''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>split-window</color> <color #22b14c>[-hv] [-t</color> <color #7092be>TARGET_PANE</color><color #22b14c>]</color>'': pane을 위아래 또는 좌우로 나눈다. alias는 ''splitw''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>select-pane</color> <color #22b14c>[-UDLR] [-t</color> <color #7092be>TARGET_PANE</color><color #22b14c>]</color>'': active pane을 바꾼다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>resize-pane</color> <color #22b14c>[-UDLR]</color> <color #7092be>[ADJUSTMENT]</color>'': pane 크기를 조절한다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>kill-pane</color> <color #22b14c>[-t</color> <color #7092be>TARGET_PANE</color><color #22b14c>]</color>'': 지정한 pane을 종료한다. ==== Inspect and Control ==== * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>list-commands</color>'': 지원 command와 signature를 표시한다. alias는 ''lscm''이다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>list-keys</color> <color #22b14c>[-T</color> <color #7092be>KEY_TABLE</color><color #22b14c>]</color>'': key binding을 표시한다. alias는 ''lsk''다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>display-message</color> <color #22b14c>-p</color> <color #7092be>FORMAT</color>'': format을 평가해 출력한다. * ''<color #c3c3c3>**tmux**</color> <color #ff7f27>source-file</color> <color #7092be>PATH</color>'': config file을 다시 읽는다. alias는 ''source''다. <note warning> ''<color #c3c3c3>**tmux**</color> <color #ff7f27>kill-server</color>''는 해당 server의 모든 session과 그 안의 process를 종료한다. 먼저 ''tmux ls''로 대상을 확인하고, 단일 session만 닫을 때는 ''kill-session -t NAME''을 사용한다. </note> ===== Examples ===== ==== Create or Attach ==== <code bash> # work session이 있으면 attach하고 없으면 생성 tmux new-session -As work # background에서 session 생성 tmux new-session -d -s build # session 확인 및 attach tmux list-sessions tmux attach-session -t build </code> ==== Window and Pane ==== <code bash> # 이름이 logs인 window 생성 tmux new-window -n logs # 좌우 분할 tmux split-window -h # 위아래 분할 tmux split-window -v # pane 목록과 id 확인 tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{pane_id}' </code> ==== Remote Work ==== <code bash> # remote host에서 session 생성 또는 재접속 ssh server tmux new-session -As work </code> * detach: <kbd>Ctrl</kbd>+<kbd>b</kbd> 다음 <kbd>d</kbd> * 새 window: <kbd>Ctrl</kbd>+<kbd>b</kbd> 다음 <kbd>c</kbd> * 다음/이전 window: <kbd>Ctrl</kbd>+<kbd>b</kbd> 다음 <kbd>n</kbd>/<kbd>p</kbd> * pane 좌우 분할: <kbd>Ctrl</kbd>+<kbd>b</kbd> 다음 <kbd>%</kbd> * pane 위아래 분할: <kbd>Ctrl</kbd>+<kbd>b</kbd> 다음 <kbd>"</kbd> * key 도움말: <kbd>Ctrl</kbd>+<kbd>b</kbd> 다음 <kbd>?</kbd> ===== Configuration ===== * 기본 user config는 ''~/.tmux.conf''다. * 최신 tmux는 ''$XDG_CONFIG_HOME/tmux/tmux.conf''도 지원한다. * config 작성, option scope, key binding, reload와 검증은 [[tmux:config:ko|tmux configuration]]을 참고한다. ===== Troubleshooting ===== * ''no server running''은 실행 중인 tmux server가 없다는 뜻이다. 새 session을 만들거나 socket option이 일치하는지 확인한다. * nested tmux에서 key가 바깥 session에 전달되면 prefix를 두 번 누르거나 각 server에 다른 prefix를 설정한다. * 색상이나 full-screen application이 깨지면 바깥 terminal의 ''TERM''과 tmux의 ''default-terminal'' 설정을 확인한다. * SSH 재접속 후 agent socket이 오래된 값이면 새 session에서 시작하거나 server environment의 ''SSH_AUTH_SOCK''을 갱신한다. * version별 command와 option은 ''man 1 tmux''와 ''tmux list-commands''로 확인한다. ===== Compatibility ===== * tmux는 Unix 계열 terminal 환경을 대상으로 한다. * 최신 upstream release만 공식 지원되며 distribution package에는 오래된 version이 포함될 수 있다. * 일부 option, format, key flag는 version에 따라 다르므로 automation에서 ''tmux -V''를 먼저 확인한다. * 공식 Windows native 또는 ''winget'' 설치 안내는 없다. Windows에서는 WSL, Linux VM 또는 remote Unix host를 사용한다. ===== Help ===== ++++ tmux help commands | <code bash> tmux -V tmux list-commands tmux list-keys man 1 tmux </code> ++++ ===== See Also ===== * [[tmux:config:ko|tmux configuration]] * [[tmux:cheatsheet|tmux cheatsheet]] * [[herdr:ko|Herdr]] * [[https://github.com/tmux/tmux/wiki/Getting-Started|tmux Getting Started]] * [[https://github.com/tmux/tmux/wiki/Installing|Installing tmux]] * [[https://man.openbsd.org/tmux|tmux(1) manual]] ===== History ===== * codex:: 2026-07-27 Added installation, sessions, windows, panes, key bindings, examples, troubleshooting, and compatibility guidance. {{indexmenu>.#1|js}} /home/u613600155/domains/cli.zerotymer.net/public_html/data/pages/tmux/ko.txt 마지막으로 수정됨: 2026/07/27 00:01저자 127.0.0.1