tools/terminal

내가 보려고 쓴 tmux 사용법

seul chan 2017. 3. 18. 19:27

맥북을 처음 접하고, 좋다고 들은  iterm2과 tmux (티먹스)를 설치했다.


(사실 처음에 설치할 때에는 티먹스 티먹스 이러길래 팀웍스인줄 알고 한참을 team works mac... 이렇게 검색하다가 다시 물어 발견했다.)


"tmux는 사용자가 단일 단말기 또는 원격 터미널 세션 안에서 여러 별도의 터미널 세션에 엑세스 할 수 있도록 여러 가상 콘솔을 다중화하는데 사용할 수 있는..."

-위키백과 'tmux' (https://ko.wikipedia.org/wiki/Tmux)


창 분할만 되는 줄 알고 ubuntu에서 쓰던 terminator와 다를게 뭐냐고 생각했는데, 단순히 창만을 나눠주는 기능이 아닌 기본적으로 여러 세션을 한번에 사용할 수 있는 엄청난(?) 기능을 제공해주는 것 같다. 


뿐만 아니라 로컬 서버에 세션을 띄워서 터미널을 종료시켜도 그대로 남아 있어서 이어 작업하기 좋다는 점도 큰 장점인것같다. 

(처음에 터미널은 껐는데 안에 작업은 진행중인 걸 몰라서 또 고생했다.)


tmux는 여러 구성을 가진다.

1. session (세션): tmux 실행하는 기본 단위로, 여러 윈도우로 구성된다. 하나의 프로젝트?라고 생각하면 될 듯 하다.


2. window: 터미널 화면으로 세션 내에서 탭처럼 사용이 가능하다. 


3. pane: 하나의 윈도우 내에서의 화면 분할


즉, 기본적으로 tmux를 사용하기 위해서는 

-터미널에서 tmux 세션 띄우기 -> 세션 내 윈도우 생성 -> 윈도우로 작업(pane으로 나누던지, 말던지...)

와 같은 과정을 거쳐서 사용하면 된다.


아~~주 기초적이고 꼭 필요한 (내가 쓰는) 명령어들만 정리해 보겠다.


가장 기본적으로 tmux는 prefix(?)키라는 Ctrl+b를 누른 후에 명령 키를 누른다. esc를 눌러 명령 모드로 들어가는 빔과 비슷한 개념인것같다. 



*세션 관련 명령어

# 새로운 세션 생성

$tmux new -s session_name # session_name에 세션명 입력. 입력하지 않아도 된다.


# 세션 만들면서 윈도우랑 같이 생성

$tmux new -s session_name -n window-name

# 세션 종료 (종료 명령어를 쳐주지 않으면 계속 로컬 서버에 떠있다)

$exit


# 세션 목록 보기 (여기서 목록을 보고 꺼줘야 할 경우가 많다.)

$tmux ls


# 세션 다시 시작하기 (떠 있는 세션을 다시 불러오기)

$ tmux attach -t session_number (or session_name)


# 세션 중단하기

(Ctrl + b)  d


*윈도우 관련 명령어

# 새 윈도우 생성

(Ctrl + b) c 

# 윈도우 이동

(Ctrl + b) b # 이후에 숫자 (0-9),  n, p, l , w, f


* 틀 (pane) 관련 명령어

# 틀 나누기

(Ctrl + b) % # 좌우로 나누기, %가 딱 좌우로 나누는 모냥이니깐

(Ctrl + b) " # 왜 이건지 모르겠지만 암튼


# 틀끼리 이동하기: 많은 방법이 있지만 자주 쓰는것만...

(Ctrl + b) 방향키 # 무식하지만 단순하다.. 상하좌우 이동..

(Ctrl + b)  q # q를 누르면 숫자가 나오는데 그걸 누르면 거기로 간다! 좀 멋져보이지만 생각보다 촌스럽고 안쓰게 될거같다

(Ctrl + b) o # 순서대로 이동


# 틀 삭제

Ctrl + d


# 틀 사이즈 조정

(Ctrl + b) : # :를 치고

resize_pane -L 10 # L, R, U, D 입력하면 상하좌우로 조절 되는데 왜이렇게 복잡하게 해논지 모르겠다. 다른 방법이 있으면 올리겠음. 참고로 -는 마이너스가 아니라 그냥 대시, 10이면 10만큼 커짐


+쉬운 방법을 추가한다.

(Ctrl + b) <alt> 방향키  # 쉽게 변경 가능하다.


# 단축키 목록

(Ctrl + b) ?



 기타 단축키들...


#세션 이름 수정

(Ctrl + b) $


# 윈도우 이름 수정

(Ctrl + b)  ,

# 윈도우 종료

(Ctrl + b) & #혹은

Ctrl + d

# 윈도우 이동

(Ctrl + b)  #를 누른채로

0-9 # 윈도우 번호

n #다음

p # prev 

l # last

w # window selector

f # find by name



참고: http://www.haruair.com/blog/2124