Linux / 명령어 / tmux - 터미널 세션 분리·재접속

tmux는 하나의 터미널에서 여러 창과 패널을 관리하는 터미널 멀티플렉서입니다. 세션을 분리한 뒤 다시 연결할 수 있어 원격 접속이 끊겨도 셸 작업을 이어서 볼 때 유용합니다.

tmux 명령어란?

tmux에는 세션, 창, 패널의 계층이 있습니다. 기본 접두 키는 Ctrl+b이며, 접두 키를 누른 뒤 다음 키를 입력합니다. 분리된 세션은 tmux 서버가 살아 있는 동안 유지되지만 서버 재부팅이나 tmux 서버 종료까지 보장하지는 않습니다.

기본 문법

tmux [명령] [옵션]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man tmux으로 현재 시스템의 설명을 확인하세요.

사용 예제

이름 있는 세션 시작

이름을 지정해 두면 나중에 어떤 작업인지 구분하기 쉽습니다.

tmux new -s work

세션 목록 확인

분리 후 현재 남아 있는 세션을 찾습니다.

tmux ls

기존 세션 다시 연결

시작할 때 붙인 이름을 사용합니다.

tmux attach -t work

세션을 분리하고 다시 연결하기

tmux는 터미널 연결과 셸 작업을 분리합니다. 세션을 만든 뒤 기본 접두키 Ctrl+B, 이어서 D를 눌러 화면에서 빠져나와도 세션 안의 작업은 계속될 수 있습니다.

tmux new -s demo
tmux ls
tmux attach -t demo

분리 후 tmux ls의 예시 출력(날짜·상태는 달라짐):

demo: 1 windows (detached)

attach는 분리된 세션의 화면으로 돌아갑니다. 같은 이름의 세션이 이미 있으면 새 세션 생성이 실패할 수 있으므로 tmux ls를 먼저 확인하세요. 원격 서버에서 네트워크가 끊겨도 작업을 유지하는 데 유용하지만, 서버 자체가 재부팅되면 일반 tmux 세션도 사라집니다.

주요 옵션과 형식

옵션·형식 설명
new -s 이름 이름을 지정해 새 세션을 만듭니다.
ls 현재 tmux 서버의 세션을 나열합니다.
attach -t 이름 지정한 세션에 연결합니다.
detach 현재 클라이언트를 세션에서 분리합니다.
split-window 현재 창을 패널로 나눕니다.

사용할 때 주의할 점

기본 키 조합에서 Ctrl+b 다음 d는 세션 분리, c는 새 창, %와 "는 패널 분할입니다. 키를 동시에 누르는 것이 아니라 접두 키 뒤에 다음 키를 누릅니다. tmux가 설치되지 않은 배포판도 있으므로 먼저 패키지 제공 여부를 확인하세요.

자주 묻는 질문

SSH 연결이 끊기면 tmux 세션이 항상 남나요?

tmux 서버와 원격 시스템이 계속 실행 중이면 대개 다시 연결할 수 있습니다. 서버 재부팅이나 세션 종료까지 복원하는 기능은 아닙니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 tmux 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / more - 텍스트를 화면 단위로 나누어 보기

Linux / 명령어 / more - 텍스트를 화면 단위로 나누어 보기

Linux more 명령어로 긴 텍스트를 화면 단위로 읽는 방법을 설명합니다. 이동과 검색 키, 파이프 사용법, less와의 차이를 함께 정리합니다.

Linux / 명령어 / ssh-keygen - SSH 키 쌍 생성과 지문 확인

Linux / 명령어 / ssh-keygen - SSH 키 쌍 생성과 지문 확인

Linux ssh-keygen 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Bash help 명령어로 셸 내장 명령과 문법의 도움말을 확인하는 방법을 설명합니다. 출력 형식, 패턴 검색, type·man·--help와의 차이 및 스크립트 활용법을 정리합니다.

Linux / 명령어 / install - 파일 복사와 권한 설정

Linux / 명령어 / install - 파일 복사와 권한 설정

Linux install 명령어로 파일을 복사하면서 권한, 소유자와 대상 디렉터리를 설정하는 방법을 설명합니다. cp와의 차이와 배포 스크립트에서의 활용법도 알아봅니다.

Linux / 명령어 / less - 긴 파일을 검색하며 페이지 단위로 보기

Linux / 명령어 / less - 긴 파일을 검색하며 페이지 단위로 보기

Linux less 명령어로 긴 텍스트와 명령 출력을 페이지 단위로 탐색하는 방법을 설명합니다. 검색, 이동, 실시간 갱신과 파이프 사용법을 정리합니다.

Linux 강좌 / 파일 내용 읽기 - cat, less, more, head, tail

Linux 강좌 / 파일 내용 읽기 - cat, less, more, head, tail

cat, less, more, head, tail로 리눅스 파일 내용을 읽는 방법을 비교합니다. 짧은 파일과 긴 파일, 앞·뒤 일부를 확인할 때의 선택 기준과 실습 결과를 설명합니다.

Linux / 명령어 / unalias - 명령어 별칭 삭제

Linux / 명령어 / unalias - 명령어 별칭 삭제

Bash unalias 명령어로 특정 별칭이나 모든 별칭을 제거하는 방법을 설명합니다. 일시 제거와 영구 제거, 별칭 우회 및 함수·변수 삭제와의 차이를 정리합니다.

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

리눅스 배포판 종류와 버전을 /etc/os-release, hostnamectl, uname 명령으로 확인하는 방법을 설명합니다. 배포판 계열과 커널 버전의 차이, 스크립트 활용법과 컨테이너·WSL 환경의 주의점도 함께 정리합니다.

Linux / 명령어 / tac - 파일을 마지막 줄부터 역순 출력

Linux / 명령어 / tac - 파일을 마지막 줄부터 역순 출력

Linux tac 명령어로 파일의 줄 순서를 뒤집어 마지막 줄부터 출력하는 방법을 설명합니다. 여러 파일 처리, 구분자 변경과 로그 확인 예제를 함께 정리합니다.

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux ip 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.