centos환경에서 작업하다보면, 크롬탭처럼 화면을 여러개 띄우고 싶을 때가 있습니다.
ex) 다른 유저로 두개의 작업을 해야할 때, 한쪽은 작업을 실행하고 다른쪽에서는 실시간 로그를 확인할 때
이럴 때 사용할 수 있는 tmux에 대해 알아보겠습니다.
tmux에는 pane(화면분할)/ window(탭 분할)/ session(창 분할) 의 개념이 있지만
아마 화면분할을 위해 사용하려는 경우가 많을 것 같습니다.
00. 자주 쓰는 명령어 💡
이거 보러 들어오신 분들을 위해 위로 올렸습니다
tmux new -s [세션명] // tmux시작
(ctrl) + b + % // 가로 분할
(ctrl) + b + " // 세로분할
(ctrl) + b + (방향키) // 분할 내 이동
(ctrl) + b + d // 세션나가기 (detatch)
01. 설치
설치
sudo yum install -y tmux
버전 확인
tmux -V
# tmux 1.8
02. 세션 시작
tmux new -s [세션이름]
창의 하단이 초록색으로 바뀌면서 tmux가 실행됩니다.
03. 화면 분할 (Pane) ⭐
tmux는 기본적으로 ctrl + b를 예약어로 쓰고 있습니다.
즉, tmux명령어를 사용하기 전에 항상 ctrl+b를 먼저 입력해주어야 합니다.
세로분할
# ctrl + b 를 먼저 누른 후
ctrl+%
막대기가 oo를 세로로 둘로 나누고 있는 모습을 생각하면 됩니다.
가로분할
# ctrl + b 를 먼저 누른 후
ctrl+"
분할 내에서의 이동
# ctrl + b 를 먼저 누른 후
ctrl+방향키
04. 새 창 만들기 (Window)
하나의 창을 분할하는 것 말고 아예 새 창을 만들고 싶을 때는 c 명령어를 이용하면 됩니다.
# ctrl + b 를 먼저 누른 후
c
이렇게 새로운 창으로 넘어갔죠
지금 세션에 몇 개의 창이 열려있는지 확인
tmux ls
hi라는 세션에 window가 두 개 열려있다고 나오네요
세션 안에서 윈도우끼리의 이동
# ctrl + b 를 먼저 누른 후
[윈도우 번호]
예를들어 ctrl + b + 0 을 입력하면 첫번째 윈도우로 돌아갑니다
05. 새 세션 만들기
윈도우도 말고 아예 새로운 세션을 생성할 수도 있습니다.
제일 처음에 했던 tmux new 명령어가 세션을 생성하는 거였죠.
tmux new -s [세션이름]
이 세션에서 나와 새로운 세션을 생성해봅니다
# ctrl + b
d // 세션 나가기
tmux new -s session2 // session2 라는 새로운 세션에 진입
세션에서 나가도 그 안에 프로세스들이 날라가지는 않습니다.
현재 실행중인 세션은 tmux ls를 통해 확인할 수 있습니다.
여러개의 세션이 실행중인게 확인되죠.
이 중 새로 실행한 session2에 (attached)상태라고 나와있네요.
다시 다른 세션에 attach하고 싶으면 아래 명령어를 실행하면 됩니다.
tmux attach -t [세션번호/세션이름]
06. Session, Window, Pane
- session : tmux 실행 단위. 여러개의 window로 구성.
- window : 터미널 화면. 세션 내에서 탭처럼 사용할 수 있음.
- pane : 하나의 window 내에서 화면 분할.