Linux 초보자의 Tmux 다루기

Andy·2020년 12월 13일
0
post-thumbnail

Tmux란?

Tmux란 Terminal Multiplexer 의 줄임말이다. 한마디로 터미널을 분할해서 사용할 수 있게 해주는 툴이다. 서버에서 환경을 구성할때 vi를 통해 문서나 파일을 변경한 후에 다시 무언가를 작업하게 된다면 화면을 분할하여 사용한다면 조금 더 효율적으로 터미널에서 작업할 수 있게 된다. 하지만 Tmux를 사용하는 가장 큰 이유는 아마도 Session때문이라고 생각한다.

Tmux의 구성요소

간단하게 Tmux의 구조를 나눠보자면

  1. Session
  2. Window
  3. Pine

으로 나누어 볼 수 있다.

Session은 내가 원하는 환경을 저장, 기록해 놓는 것인데 서버에서 작업을 할 경우 내가 원하는 환경을 Session으로 저장해 놓으면 서버에 접속했을 때 언제든지 내 작업 환경을 바로 사용할 수 있다.
회사에서는 Amazon EC2환경에 Tmux, Emacs 환경을 구성해 놓고 변경사항이 있을 때 Session에 들어가서 바로 작업이 가능하다.

Window는 Session내에서 탭처럼 사용할 수 있는 것을 말한다. 아직까지 세션에서 여러 윈도우를 띄우고 작업하지는 않고 한 세션을 더 만들어서 세션 단위로 넘어가면서 작업을 한다.

Pine은 윈도우를 나눠서 사용하는것을 말하는데 보통 서버에서 Tmux와 Emacs를 같이 사용한다면 Pine분할은 한 두개정도로 하고 Emacs로 분할을 더 많이 하게 되는것 같다.

Tmux 단축키

Tmux를 사용하는데는 단축키가 필수적이다. 이런 환경에 익숙해진다면 마우스 없이도 코딩이 가능하게 될거 같지만... 아직까지 내공이 부족한지 트랙패드에 손이 가고있다. Iterm을 이용하면 마우스커서를 터미널에서 사용할 수 있지만 아무래도 환경에 익숙해지기 위해서는 단축키를 좀 더 활용하는게 좋을 것 같다.

Session 단축키

# 새로운 세션 생성
tmux new -s (session_name)

# 세션 만들면서 윈도우랑 같이 생성
tmux new -s (session_name) -n (window_name)

# 세션 종료
exit

# 세션 목록
tmux ls

# 세션 다시 시작하기(다시 불러오기)
tmux attach -t session_number

# 세션 중단하기
(ctrl + b) d

# 스크롤하기
ctrl + b + [

# 특정 세션 강제 종료
tmux kill-session -t session_number

Window 단축키

# 새 윈도우 생성
(ctrl + b) c

# 새 윈도우 이동
(ctrl + b) b (숫자)

Pine 단축키

# Pine 나누기
(ctrl + b) % #좌우로 나누기
(ctrl + b) " #위아래로 나누기

# Pine끼리 이동하기
(ctrl + b) 방향키
(ctrl + b) q
(ctrl + b) o #순서대로 이동

# Pine 삭제
(ctrl + d)

참고자료: https://velog.io/@ur-luella/tmux-%EC%82%AC%EC%9A%A9%EB%B2%95

마지막

사실 서버 위에서 코딩을 하는 등의 환경을 구성하기 위해서는 Tmux보다는 Emacs를 좀 더 잘 다뤄야 한다. 사실 Tmux 기능은 정말 단순하기 때문에 어렵지 않았지만 Emacs를 시작하면서 IDE없이 터미널에서 코딩 하는것에 대한 부담감이 생기고 있다. 조만간 Emacs에 대해서도 공부를 하면서 자주 사용하는 단축키 및 plug-in에 대해서도 정리를 하여 EC2서버 환경에서 좀 더 능숙하게 작업할 수 있도록 해야겠다.

profile
Junior Software Developer

0개의 댓글