Tmux란?
- ‘Terminal Multiplexer’의 줄임말
- 백그라운드에서 실행되며, 사용자에게 여러 가지 터미널 윈도우와 패널을 제공하는 도구
- 여러 터미널 세션을 하나의 화면에서 관리할 수 있게 해주는 도구
- 세션을 저장하고 나중에 다시 접근하는것을 가능하게 해주는 도구
언제 사용하면 좋을까?
- 원격 접속이 종료되거나 터미널을 종료한 후에도 작업이 지속되길 원할 경우
- 여러 작업 동시 수행을 해야할 경우
- 여러 사용자가 동일한 세션에 접속하여 협업을 해야 하는 경우
즉, 터미널의 원격 접속과 화면분할이 필요한 경우 사용하면 유용하다.
예시
- 웹 서버와 데이터베이스를 모니터링하면서 로그 파일을 동시에 확인해야 할 때
- 긴 시간 동안 실행되는 스크립트나 명령어를 백그라운드에서 실행하면서 그 과정을 간헐적으로 체크하고 싶을 때
- 여러 서버에 접속하여 작업을 수행하면서 각 서버의 상태를 동시에 모니터링해야 할 때
설치
Tmux는 대부분의 리눅스 배포판에서 쉽게 설치할 수 있다.
- Ubuntu:
sudo apt-get install tmux
- Mac:
brew install tmux
- CentOS/RHEL:
sudo yum install tmux
또는 github page에서 다운로드 가능 https://github.com/tmux/tmux/releases
Tmux 구조
Tmux는 크게 다음 셋으로 구분된다
- 세션(Session)
- 윈도우(Window)
- 패널(Pane)
Tmux 연결 화면 예시
Tmux 명령어
세션 관련 명령어
세션 생성
이름 지정하여 세션 생성
1
| tmux new -s <session_name>
|
세션 이름 수정 (세션 내에서)
세션에서 나오기 (detach)
세션 리스트 확인
세션에 재접속
1
| tmux attach -t <session number 혹은 session name>
|
세션 종료 (세션의 마지막 윈도우나 팬에서)
세션 종료 (세션 밖에서)
1
| tmux kill-session -t <session_name>
|
윈도우 관련 명령어
세션 생성과 함께 윈도우 생성
1
| tmux new -s <session-name> -n <window-name>
|
윈도우 생성
윈도우 이름 변경
윈도우 종료
1
2
3
| [Ctrl] + b, &
OR
[Ctrl] + d
|
윈도우 간 이동
- 다음 윈도우로 :
[Ctrl] + b, n
- 이전 윈도우로 :
[Ctrl] + b, p
- 마지막 윈도우로 :
[Ctrl] + b, l
- 번호로 이동 :
[Ctrl] + b, 0-9
- 이름으로 이동 :
[Ctrl] + b, f
윈도우 리스트 보기
패널 관련 명령어
세로 화면 분할
가로 화면 분할
팬 이동
- 번호로 이동 :
[Ctrl] + b, q
- 순서대로 이동 :
[Ctrl] + b, o
- 방향키로 이동 :
[Ctrl] + b, <방향키>
팬 삭제
1
2
3
| [Ctrl] + d
OR
[Ctrl] + b, x
|
팬 사이즈 조절 및 레이아웃 변경
- 현재 팬 전체화면/복구 :
[Ctrl] + b, z
- 사이즈 조절 :
[Ctrl] + b, :
, resize-pane -L <Size> or -R <Size> or -U <Size> or -D <Size>
- 레이아웃 자동 변경 :
[Ctrl] + b, spacebar
기타 명령 및 단축키 관련
단축키 목록
키 바인딩 및 언바인딩
1
2
3
| bind-key [-cnr] [-t key-table] key command [arguments]
OR
unbind-key [-acn] [-t key-table] key
|
옵션 설정
열려있는 모든 팬에 동시 입력
1
| setw synchronize-panes on
|
Copy 모드로 들어가기
Copy 모드에서 나오기
Comments powered by Disqus.