tmux 명령어: 세션 만들기와 떼기, 다시 붙기, Ctrl+b 단축키

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)
테스트 환경RHEL 계열AlmaLinux 9.8tmux 3.2aroot 계정2026-11-04 확인
셸 명령어tmux위치/usr/bin/tmux

SSH 접속이 끊겨도 서버에서 하던 작업을 이어 가려면 tmux 명령어로 세션을 만들고 그 안에서 작업합니다. AlmaLinux 9 서버의 tmux 3.2a로 세션을 만들고 떼었다가 다시 붙여 본 결과, 붙어 있던 터미널을 닫은 뒤에도 세션과 창, 그 안에서 실행하던 명령이 서버에 그대로 남아 있었습니다.

아래 출력은 AlmaLinux 9.8 서버(root 계정)에서 실행한 결과입니다. 세션 이름 work, mysession, dev는 예시 값입니다. 실측은 -L로 이름을 따로 준 tmux 서버에서 진행했고, 출력에 나오는 소켓 이름은 기본값(default)으로 바꿨습니다. 시각은 UTC로 출력했습니다.

1️⃣ tmux 명령어 사용법

  • ↪️ 세션 만들기, 떼기, 다시 붙기

tmux는 서버 안에 세션을 띄워 두고, 접속한 터미널이 그 세션에 붙었다가 떨어지는 구조입니다. 새 세션은 tmux new에 -s로 이름을 붙여 만듭니다.

tmux new -s work

실행하면 화면이 tmux 세션으로 바뀌고, 맨 아래 초록색 상태 줄 왼쪽에 [work] 0:bash*가 나옵니다. 대괄호 안은 세션 이름이고, 0:bash는 0번 창에서 bash가 실행 중이라는 뜻입니다. 끝의 별표(*)는 지금 보고 있는 창에 붙습니다.

세션에서 빠져나올 때는 Ctrl+b를 누르고 손을 뗀 뒤 d를 누릅니다. 셸로 돌아오면서 아래 한 줄이 출력되고, 세션은 서버에 그대로 남습니다.

[detached (from session work)]

세션을 떼는 것은 전화를 끊지 않고 보류 버튼을 누르는 것과 같습니다.

떼어 둔 세션은 tmux ls로 확인합니다. 줄마다 세션 이름과 창 개수, 세션을 만든 시각이 나옵니다.

tmux ls
work: 1 windows (created Wed Oct 28 23:20:48 2026)

다시 붙을 때는 tmux attach에 -t로 세션 이름을 적습니다. 붙어 있는 동안 tmux ls를 실행하면 그 세션 줄 끝에 (attached)가 붙습니다.

tmux attach -t work

없는 이름을 적으면 붙지 않고 오류만 출력됩니다.

tmux attach -t nosuch
can't find session: nosuch

세션을 만들기만 하고 붙지 않으려면 -d를 붙입니다. mysession을 -d로 만든 뒤 tmux ls를 실행하자 두 세션이 이름 순서로 나왔습니다.

tmux new -d -s mysession
tmux ls
mysession: 1 windows (created Wed Oct 28 23:20:48 2026)
work: 1 windows (created Wed Oct 28 23:20:48 2026)

이미 있는 이름으로 다시 만들면 새 세션은 생기지 않고 [duplicate session]으로 끝났습니다.

tmux new -d -s work
duplicate session: work

이때 원래 있던 work 세션은 바뀌지 않고 그대로 남아 있었습니다.

🔲 tmux 명령어 시뮬레이터

아래 시뮬레이터에서 세션을 만들고 떼었다가 다시 붙고, 붙은 화면에서 Ctrl+b 단축키로 창과 칸을 나눠 볼 수 있습니다.

tmux 명령어 시뮬레이터tmux 3.2a
[root@server work]#
브라우저 안에서만 동작합니다. 붙은 화면에서는 Ctrl+b 를 누르고 손을 뗀 뒤 다음 키를 누르거나 아래 칩을 누르며, 새로고침하면 세션이 모두 사라집니다.

2️⃣ tmux 단축키와 창 나누기

  • ↪️ 접두 키 Ctrl+b, new-window, split-window

세션 하나에는 창(window)을 여러 개 둘 수 있고, 창 하나는 다시 칸(pane)으로 나뉩니다. 서버와 세션, 창, 칸의 관계는 아래와 같습니다.

🖥️ tmux 서버세션을 모두 관리 · tmux kill-server로 끝남
세션 worktmux attach -t work로 붙는 단위
창 0상태 줄의 0:bash
창 1Ctrl+b c · tmux new-window
칸 0창을 나눈 화면 한 칸
칸 1Ctrl+b % · Ctrl+b " · tmux split-window
세션 mysession서버 하나에 세션 여럿

붙은 화면에서 쓰는 tmux 단축키는 접두 키(prefix) Ctrl+b를 먼저 누르고 손을 뗀 뒤 다음 키를 누르는 방식입니다. 지금 설정된 접두 키는 show-options로 확인합니다.

tmux show-options -g prefix
prefix C-b

C-b는 Ctrl+b를 뜻합니다. Ctrl+b 다음에 누르는 키와 하는 일, 같은 일을 하는 명령은 아래와 같습니다.

Ctrl+b 다음 키하는 일같은 명령
d지금 세션에서 떼기detach-client
c새 창 만들기new-window
n · p다음 창 · 이전 창next-window · previous-window
0~9그 번호의 창으로select-window
%지금 칸을 좌우로 나누기split-window -h
"지금 칸을 위아래로 나누기split-window
o · 방향키다음 칸 · 그 방향의 칸으로select-pane
z지금 칸만 크게 보기(한 번 더 누르면 원래대로)resize-pane -Z
x지금 칸 닫기(y로 확인)kill-pane
,지금 창 이름 바꾸기rename-window
$지금 세션 이름 바꾸기rename-session
s세션 목록에서 골라 옮기기choose-tree -Zs

단축키 대신 명령으로도 창과 칸을 만들 수 있고, 세션에 붙어 있지 않을 때는 -t로 대상 세션을 지정합니다. new-window를 실행하자 work 세션에 1번 창이 생겼습니다.

tmux new-window -t work
tmux list-windows -t work
0: bash- (1 panes) [80x23] [layout ae5d,80x23,0,0,0] @0
1: bash* (1 panes) [80x24] [layout b25e,80x24,0,0,1] @1 (active)

창 이름 뒤 별표(*)는 지금 창, 빼기(-)는 바로 전에 보던 창입니다. 줄 끝 @ 뒤의 숫자는 tmux 서버 안에서 창마다 붙는 번호입니다.

split-window는 지금 칸을 위아래로 나누고, -h를 붙이면 좌우로 나눕니다. 1번 창을 위아래로 나눈 뒤 아래 칸을 다시 좌우로 나누자 칸이 셋이 되었습니다.

tmux split-window -v -t work
tmux split-window -h -t work
tmux list-panes -t work
0: [80x12] [history 0/2000, 484 bytes] %1
1: [40x11] [history 0/2000, 402 bytes] %2
2: [39x11] [history 0/2000, 397 bytes] %3 (active)

80×24 창을 위아래로 나누자 위 칸은 80×12, 아래 칸은 80×11이 되었습니다. 남은 한 줄은 두 칸 사이의 경계선이 차지합니다. 좌우로 나눈 40×11과 39×11 사이에서도 한 칸이 경계선입니다.

tmux list-windows -t work
0: bash- (1 panes) [80x23] [layout ae5d,80x23,0,0,0] @0
1: bash* (3 panes) [80x24] [layout f160,80x24,0,0[80x12,0,0,1,80x11,0,13{40x11,0,13,2,39x11,41,13,3}]] @1 (active)

list-windows를 다시 실행하자 1번 창의 칸 수가 3으로 바뀌어 있었고, layout 뒤에 칸 셋의 크기와 위치가 이어서 나왔습니다.

3️⃣ tmux 세션 이름 변경과 종료

  • ↪️ rename-session, kill-session, kill-server

tmux 세션 이름은 rename-session으로 바꿉니다. -t에 지금 이름을 적고, 그 뒤에 새 이름을 적습니다.

tmux rename-session -t mysession dev
tmux ls
dev: 1 windows (created Wed Oct 28 23:20:48 2026)
work: 2 windows (created Wed Oct 28 23:20:48 2026)

세션 이름에 넣은 점(.)은 밑줄(_)로 바뀝니다. my.session으로 만든 세션이 tmux ls에는 my_session으로 나왔습니다.

tmux new -d -s my.session
tmux ls
my_session: 1 windows (created Wed Oct 28 23:51:42 2026)

세션 하나를 닫을 때는 kill-session에 -t로 세션 이름을 적습니다. 그 세션의 창도 모두 함께 닫힙니다.

tmux kill-session -t dev
tmux ls
work: 2 windows (created Wed Oct 28 23:20:48 2026)

이미 닫은 이름을 다시 적으면 [can’t find session]이 출력됩니다.

tmux kill-session -t dev
can't find session: dev

붙어 있는 세션을 다른 터미널에서 kill-session으로 닫자, 그 세션에 붙어 있던 화면은 셸로 돌아오면서 아래 한 줄을 출력했습니다.

[exited]

kill-server는 세션을 모두 닫고 tmux 서버까지 끝냅니다. 서버가 끝난 뒤 tmux ls를 실행하면 실행 중인 서버가 없다는 문구가 출력됩니다.

tmux kill-server
tmux ls
no server running on /tmp/tmux-0/default

끝의 /tmp/tmux-0/default는 root 계정의 기본 소켓 위치입니다. 다른 계정은 tmux- 뒤에 그 계정의 사용자 번호가 붙습니다.

4️⃣ tmux SSH 접속 끊김과 옵션

  • ↪️ 터미널을 닫아도 남는 세션과 작업, 옵션 정리

🔲 SSH 접속 끊김

[Ctrl+b d]로 떼지 않고 접속이 그냥 끊겨도 세션은 서버에 남습니다. SSH 연결이 끊긴 상황처럼 work 세션에 붙어 있던 터미널을 통째로 닫은 뒤 tmux ls를 실행했습니다.

tmux ls
work: 2 windows (created Wed Oct 28 23:21:04 2026)

닫기 전 work 줄 끝에 있던 (attached)만 빠지고, 창 두 개는 그대로 남아 있었습니다.

붙어 있는 사람이 없어도 세션 안의 명령은 계속 실행됩니다. 1초마다 시각을 출력하는 명령을 떼어 둔 세션(job)에서 실행한 뒤, capture-pane으로 그 세션의 화면을 읽었습니다.

tmux new -d -s job 'for i in 1 2 3; do date +%H:%M:%S; sleep 1; done; exec bash'
sleep 4
tmux capture-pane -p -t job | head -3
23:21:49
23:21:50
23:21:51

세 줄은 아무도 붙어 있지 않은 3초 동안 세션 안에서 출력된 시각입니다. 오래 걸리는 백업이나 업데이트를 tmux 세션 안에서 시작해 두면, 접속이 끊긴 뒤에도 다시 붙어 그 화면을 이어서 확인할 수 있습니다.

화면을 다시 볼 필요 없이 명령 하나를 끝까지 실행하기만 할 때는 nohup으로 백그라운드 실행을 하는 방법도 있습니다. 접속이 끊겨도 작업을 남기는 방법 셋을 비교하면 아래와 같습니다.

방법접속이 끊긴 뒤다시 보기
tmux세션과 창, 칸이 서버에 남음tmux attach -t 세션 이름
screen세션이 서버에 남음(떼기는 Ctrl+a d)screen -r
nohup명령 하나만 계속 실행 · 출력은 nohup.out 파일화면에 다시 붙지 않고 출력 파일로 확인

🔲 tmux 명령어 옵션

📌 주요 명령어 옵션: 이 글에서 실행한 결과

명령하는 일이 글에서 본 결과
tmux new -s 이름이름을 붙여 새 세션을 만들고 붙음상태 줄 왼쪽에 [work] 0:bash*가 나옴
tmux new -d -s 이름세션을 만들기만 하고 붙지 않음mysession을 만든 뒤 tmux ls에 두 세션이 이름 순서로 나옴, 같은 이름은 [duplicate session]
tmux ls세션 목록과 창 개수, 만든 시각을 출력work: 1 windows (created …), 붙어 있는 세션은 끝에 (attached)
tmux attach -t 이름떼어 둔 세션에 다시 붙음없는 이름은 [can't find session: nosuch]
tmux new-window -t 이름그 세션에 새 창을 만듦work 세션에 1번 창이 생김
tmux split-window -h -t 이름지금 칸을 나눔, -v는 위아래, -h는 좌우80×24 창이 80×12와 40×11, 39×11 세 칸이 됨
tmux list-panes -t 이름지금 창의 칸 목록과 크기를 출력칸 셋이 0~2번으로 나오고 마지막 칸 끝에 (active)
tmux rename-session -t 이름 새이름세션 이름을 바꿈mysession이 dev로 바뀜, 이름 속 점(.)은 밑줄(_)로 바뀜
tmux kill-session -t 이름세션 하나와 그 창을 모두 닫음붙어 있던 화면은 [exited]를 출력하고 셸로 돌아옴
tmux kill-server세션을 모두 닫고 tmux 서버까지 끝냄그 뒤 tmux ls는 [no server running on /tmp/tmux-0/default]
tmux capture-pane -p -t 이름그 세션 화면의 글자를 출력아무도 붙어 있지 않은 3초 동안 찍힌 시각 세 줄이 나옴

📎 그 밖의 옵션: 공식 매뉴얼 기준

명령하는 일
tmux new -A -s 이름같은 이름의 세션이 있으면 그 세션에 붙고, 없으면 새로 만듦
tmux new -s 이름 -n 창이름세션의 첫 창에 이름을 붙여 만듦
tmux attach -d -t 이름그 세션에 붙어 있던 다른 터미널을 떼고 붙음
tmux detach-client -s 이름그 세션에 붙어 있는 터미널을 모두 뗌
tmux switch-client -t 이름붙어 있는 화면을 다른 세션으로 옮김
tmux rename-window -t 창 새이름창 이름을 바꿈
tmux select-pane -t 칸지정한 칸을 지금 칸으로 고름, -L, -R, -U, -D는 왼쪽, 오른쪽, 위, 아래 칸
tmux resize-pane -D 5칸 크기를 줄 수나 칸 수만큼 바꿈, -x와 -y는 절대 크기
tmux kill-pane -t 칸칸 하나를 닫음, 마지막 칸이면 창도 닫힘
tmux kill-window -t 창창 하나를 닫음
tmux list-keys단축키 목록을 bind-key 명령 꼴로 출력
tmux source-file 파일설정 파일의 명령을 다시 읽어 실행
tmux -f 파일/etc/tmux.conf, ~/.tmux.conf 대신 다른 설정 파일로 시작
tmux -Vtmux 버전을 출력

🔢 FAQ & 추천 콘텐츠

확인한 Debian 12 서버에는 tmux가 설치되어 있지 않았고, apt 저장소에서 tmux 패키지(3.3a)를 설치할 수 있는 상태였습니다. AlmaLinux 9 서버에 설치된 패키지 이름도 tmux였습니다. RHEL 계열은 [sudo dnf install tmux], Debian 계열은 [sudo apt install tmux]로 설치합니다.

붙어 있는 세션 안에서 [tmux new -s inner]를 실행하자 새 세션은 생기지 않고 [sessions should be nested with care, unset $TMUX to force]가 출력되었습니다. 세션 안에서 다른 세션으로 옮길 때는 [Ctrl+b s]로 세션 목록을 열어 고릅니다.

-L 뒤에 소켓 이름을 적으면 기본 서버와 따로 도는 tmux 서버가 하나 더 뜹니다. 공식 매뉴얼 기준으로 소켓은 /tmp 아래 tmux-사용자 번호 폴더에 그 이름으로 생깁니다. 끝낼 때는 같은 -L을 붙여 kill-server를 실행합니다.

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 9   +   3   =