[Linux] 2. tmux
tmux : 터미널 멀티플렉서 (Terminal Multiplexer)
- 단일 단말기 창 혹은 원격 터미널에서 여러 터미널 세션에 액세스할 수 있도록 가상 콘솔을 다중화
- 하나의 터미널에서 화면을 분할하여 사용할 수 있음
- 영구적인 세션을 제공하기에 작업 중에 원격 서버와의 연결이 끊겨도 작업 내용이 사라지지 않음
tmux 구조 : tmux 서버와 tmux 클라이언트로 구성
tmux를 실행하면 하나의 윈도우를 가진 새로운 세션이 생성되어 화면에 출력- 화면 아래의 상태 표시줄에 현재 세션에 대한 정보가 표시,
interactive commands를 입력할 때 사용
- 화면 아래의 상태 표시줄에 현재 세션에 대한 정보가 표시,
-
세션 (
Session) : 하나 이상의 윈도우가 있는 독립된 작업 공간- 세션은
tmux서버에서 실행되는 프로세스로,tmux가 관리하는 가상 터미널 - 세션은 1개 이상의
tmux클라이언트로 접속할 수 있음
- 세션은
-
윈도우 (
Window) : 동일한 세션에서 시각적으로 분리된 부분- 세션은 무조건 1개 이상의 윈도우를 가짐
- 윈도우는 인덱스로 구분되며, 0번부터 시작
-
패널 (
Panel) : 동일한 윈도우에서 분리된 부분- 패널은 윈도우 내에 1개 이상 존재하면서, 입력을 받는 부분
-
상태 바 (
Status bar) : 세션, 윈도우, 패널에 대한 정보를 볼 수 있는 초록색 바
tmux 명령어 : 세션, 윈도우, 패널의 범위에 영향을 미치는 명령어들이 존재
| tmux 명령어 이름 | tmux 명령어 설명 |
|---|---|
| 세션 관련 | |
| tmux | 새로운 세션 시작 |
| tmux new -s {이름} | 특정 이름을 가진 새로운 세션 시작 |
| tmux ls | 현재 열린 세션 목록 나열 |
| tmux rename-session -t {기존 이름} {새로운 이름} | 기존 이름을 가진 세션을 새로운 이름으로 변경 |
| tmux attach | 마지막 세션으로 접속 |
| tmux attach -t {이름} | 특정 이름을 가진 세션으로 접속 |
| ctrl+b → d | 현재 세션 나가기 |
| tmux kill-session -t {이름} | 특정 이름을 가진 세션을 종료 |
| (tmux에서) exit | (세션 내부에서) 현재 세션 종료 |
| (tmux에서) ctrl+b → : | (세션 내부에서) tmux 명령 모드 진입 |
| 윈도우 관련 | |
| ctrl+b → c | 새로운 윈도우 생성 |
| ctrl+d | 현재 윈도우 종료 (만약 윈도우가 1개면, 현재 세션 종료) |
| ctrl+b → & | 모든 윈도우 종료 |
| ctrl+b → p | 이전 윈도우로 이동 |
| ctrl+b → n | 다음 윈도우로 이동 |
| ctrl+b → l | 마지막 윈도우로 이동 |
| ctrl+b → {0 ~ 9} | 특정 번호를 가진 윈도우로 이동 |
| ctrl+b → , | 현재 윈도우 이름 바꾸기 |
| ctrl+b → w | 현재 열린 윈도우 목록 나열 |
| ctrl+b → [ | copy 모드로 전환 (스크롤 가능) |
| 패널 관련 | |
| ctrl+b → " | 현재 패널을 가로로 나누기 |
| ctrl+b → % | 현재 페널을 세로로 나누기 |
| ctrl+b → {방향키} | 현재 패널에서 방향키 방향의 패널으로 이동 |
| ctrl+b → z | 현재 패널 확대/축소 전환 |
| ctrl+b → ␣ | 현재 패널에서 다른 패널으로 순환 |
| ctrl+b → x | 현재 패널 삭제 |