Tmux 사용하기

eric9687·2022년 7월 12일

로컬이나 ssh등을 이용해서 학습시키거나 데이터를 다운받을 때,
예기치 않게 종료되거나 연결이 끊어지면... 정말 ㅂㄷㅂㄷ...
꼼꼼한 성격이라고 자부하며 tmux를 안쓰려고 버텼지만 몇번 쓰다보면 신경쓸 거리가 조금은 줄어든다.

Tmux

: 돌발상황에도 코드 실행이 중단되지 않도록 해주는 장점이 있고, 여러개의 터머널을 생성 및 관리할 수 있는 terminal multiplexer

사전 지식

tmux를 실행하면 session, window, pane을 알고 있는게 좋다.

  • session: tmux의 가장 큰 실행단위
  • window: session을 구성하며, chrome에서의 탭이라고 생각해도 좋다.
  • pannel: window를 구성하며, 화면상에서 분할하여 사용할 수 있다.

일단 머리가 복잡하다면 그냥 session이 우리가 일반적으로 보는 terminal창이라고 생각하자!

설치

  • 리눅스
sudo apt-get install tmux 
  • macOS
brew install tmux

Tmux Command

  • Session 관련
## 세션 생성 
$ tmux 

## 세션 이름을 지정해서 생성
$ tmux new -s <session name>
or
$ tmux new-session -s <session name>

## session attach
$ tmux attach -t <session number or session name>

## session 이름 수정
<ctrl> + b, $

## session list
$ tmux ls

## session detach
<ctrl> + b,d

## session 종료(마지막 윈도우, 마지막 팬에서)
$ exit

## session 종료(세션 밖에서)
$ tmux kill-session -t <session name>
  • Window 관련
## session에서 window 생성
<Ctrl> + b, c

## 이름 지정해서 session만들고, window 이름도 지정하기
$ tmux new -s <session-name> -n <window-name>

## window 이름 변경
<Ctrl> + b, ,

## window 종료
<Ctrl> + b, &
<Ctrl> + d

## 다음 window로 이동
<Ctrl> + b, n

## 이전 window로 이동
<Ctrl> + b, p

## 마지막 window로 이동
<Ctrl> + b, l

## 특정 window로 이동 
<Ctrl> + b, <window_num or window_name> 

## window 리스트 
<Ctrl> + b, w
  • Pane 관련
## 세로 화면 분할
<Ctrl> + b, %

## 가로 화면 분할
<Ctrl> + b, "

## pane 이동 - 화면에 나오는 숫자로 이동
<Ctrl> + b, q 

## pane 이동 - 순서대로 이동
<Ctrl> + b, o

## pane 이동 - 방향키로 이동
<Ctrl> + b, <방향키>

## pane 삭제
<Ctrl> + d
or
<Ctrl> + b, x

## pane 사이즈 조절 - 현재 포커스된 팬 전체화면(한번 더 실행하면 윈상복구)
<Ctrl> + b, z

## pane 사이즈 조절 [Ctrl] + b 를 누른 후 :
<Ctrl> + b, :
resize-pane -L <Size> or -R <Size> or -U <Size> -D <Size>                  

## pane 레이아웃 변경 (다양한 레이아웃으로 자동 전환)
<Ctrl> + b, spacebar
  • 스크롤
    : 터미널에서 스크롤을 하고 싶을때
<Ctrl> + b, [

## 빠져나올땐
<ESC>
q
profile
그러나 먼저 된 자로서 나중되고 나중 된 자로서 먼저될 자가 많으니라(마:19:30)

0개의 댓글