Tmux를 이해하고 사용해보자
포스트
취소

Tmux를 이해하고 사용해보자

Tmux란?

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 연결 화면 예시

Tmux

Tmux 명령어

세션 관련 명령어

세션 생성

1
tmux

이름 지정하여 세션 생성

1
tmux new -s <session_name>

세션 이름 수정 (세션 내에서)

1
[Ctrl] + b, $

세션에서 나오기 (detach)

1
[Ctrl] + b, d

세션 리스트 확인

1
tmux list-sessions

세션에 재접속

1
tmux attach -t <session number 혹은 session name>

세션 종료 (세션의 마지막 윈도우나 팬에서)

1
exit

세션 종료 (세션 밖에서)

1
tmux kill-session -t <session_name>

윈도우 관련 명령어

세션 생성과 함께 윈도우 생성

1
tmux new -s <session-name> -n <window-name>

윈도우 생성

1
[Ctrl] + b, c

윈도우 이름 변경

1
[Ctrl] + b, ,

윈도우 종료

1
2
3
[Ctrl] + b, &
OR
[Ctrl] + d

윈도우 간 이동

  • 다음 윈도우로 : [Ctrl] + b, n
  • 이전 윈도우로 : [Ctrl] + b, p
  • 마지막 윈도우로 : [Ctrl] + b, l
  • 번호로 이동 : [Ctrl] + b, 0-9
  • 이름으로 이동 : [Ctrl] + b, f

윈도우 리스트 보기

1
[Ctrl] + b, w

패널 관련 명령어

세로 화면 분할

1
[Ctrl] + b, %

가로 화면 분할

1
[Ctrl] + b, "

팬 이동

  • 번호로 이동 : [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
[Ctrl] + b, ?

키 바인딩 및 언바인딩

1
[Ctrl] + b, :
1
2
3
bind-key [-cnr] [-t key-table] key command [arguments]
OR
unbind-key [-acn] [-t key-table] key

옵션 설정

1
[Ctrl] + b, :
1
2
3
set -g
OR
setw -g

열려있는 모든 팬에 동시 입력

1
[Ctrl] + b, :
1
setw synchronize-panes on

Copy 모드로 들어가기

1
[Ctrl] + b, [

Copy 모드에서 나오기

1
[ESC] q
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Maven에 대해서 알아보자

Multi Line to Single Line

Comments powered by Disqus.