로컬이나 ssh등을 이용해서 학습시키거나 데이터를 다운받을 때,
예기치 않게 종료되거나 연결이 끊어지면... 정말 ㅂㄷㅂㄷ...
꼼꼼한 성격이라고 자부하며 tmux를 안쓰려고 버텼지만 몇번 쓰다보면 신경쓸 거리가 조금은 줄어든다.
: 돌발상황에도 코드 실행이 중단되지 않도록 해주는 장점이 있고, 여러개의 터머널을 생성 및 관리할 수 있는 terminal multiplexer
tmux를 실행하면 session, window, pane을 알고 있는게 좋다.
일단 머리가 복잡하다면 그냥 session이 우리가 일반적으로 보는 terminal창이라고 생각하자!
sudo apt-get install tmux
brew install tmux
## 세션 생성
$ 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>
## 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
## 세로 화면 분할
<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