Tmux 사용하기

eric9687·2022년 7월 12일
0

로컬이나 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개의 댓글