1. tmux란
tmux는 사용자가 단일 단말기 창 또는 원격 터미널 세션 안에서 여러 별도의 터미널 세션에 액세스할 수 있도록 여러 가상 콘솔을 다중화하는데 사용할 수 있는 응용 소프트웨어이다. 이 응용 프로그램은 명령어 인터페이스로부터 다수의 프로그램을 처리하고 유닉스 셸로부터 프로그램을 분리하는 데에 유용하다. - 위키백과
쉽게 말하자면 tmux는 기존의 터미널 창을 분할해 사용할 수 있도록 해줘 새로운 터미널 창을 열지 않지 않고도 여러 작업을 실행할 수 있게 해준다.
이런 프로그램을 터미널 멀티플렉서라고 부른다.
2. tmux는 Session, Window, Panes라는 3개의 계층을 갖고 있다.
Sessions - 하나 이상의 윈도우가 있는 독립된 작업 공간
Windows - 동일한 세션에서 시각적으로 분리된 부분 (브라우저의 탭을 생각하면 이해하기 쉽다.)
Panes - 동일한 윈도우에서 분리된 부분(시각적으로 분리되어 있지는 않다.)
아래 그림은 tmux를 이용해 한 개의 Session 내부의 세 개의 Window와 세 개의 Pane를 생성한 모습이다.
![](https://velog.velcdn.com/images%2Fpiopiop%2Fpost%2F077435b4-9898-463e-af57-e1de4a9c27d1%2Fimage.png)
3. tmux 설치 및 실행하기
- 설치 : sudo apt-get install tmux
- 실행 : tmux / tmux를 실행할 때마다 새로운 세션(session)이 생성됨
4. 명령어
- Session
- tmux : 새로운 세션 시작
- tmux new -s NAME : 세션 이름과 함께 새로운 세션 시직
- tmux ls : 현재 세션 목록 나열
- tmux 실행 중 ctrl+b -> d 를 누르고 현재 세션에서 빠져나오기
- tmux a : 마지막 세션으로 들어가기
- tmux a -t 세션 이름 : 특정 세션으로 들어가기
- Window
- ctrl+b -> c : 새로운 윈도우 생성
- ctrl+d : 윈도우 닫기
- ctrl+b -> p : 이전 윈도우로 이동
- ctrl+b -> n : 다음 윈도우로 이동
- ctrl+b -> , : 현재 윈도우 이름 바꾸기
- ctrl+b -> w : 현재 윈도우 목록 나열
- Pane
- ctrl+b -> " : 현재 창을 가로로 나누기
- ctrl+b -> % : 현재 창을 세로로 나누기
- ctrl+b -> 방향키 : 방향키 방향의 창으로 이동
- ctrl+b -> z : 현재 창 확대/축소 전환
- ctrl+b -> [ : space를 누르면 선택을 시작하고 enter를 누르면 선택 내용이 복사
- ctrl+b -> space : 창 배열을 순환
![](https://velog.velcdn.com/images%2Fpiopiop%2Fpost%2Fd4839c00-d87f-48c4-9375-1704cdcb1d3e%2Fimage.png)
위와 같이 한 터미널로 서버와 클라이언트를 실행할 수 있다.
피드백 환영합니다.
-끝-