1. tmux란
tmux는 "terminal multiplexer"의 약자로,
하나의 터미널에서 여러 세션을 동시에 실행하고 관리할 수 있는 터미널 프로그램이다.
원격 서버로 작업을 하거나 여러 작업을 동시에 수행해야 하는 개발자에게 특히 유용한 도구이므로 꼭 알아두자.
2. tmux의 장점
tmux는 다음과 같은 기능을 제공한다.
- 세션 유지: tmux 세션은 터미널이 닫히더라도 백그라운드에서 계속 실행된다.네트워크 연결이 끊겨도 작업은 계속되므로, 다시 연결하면 이어서 작업할 수 있다.
- 다중 세션: 하나의 세션에서 여러 세션을 열 수 있다. 이를 통해 하나의 터미널에서 여러 작업을 동시에 처리하고 모니터링할 수 있다.
- 세션 공유: tmux는 다른 사용자와 세션을 공유할 수 있는 기능도 제공한다.
- 스크립팅 및 사용자 정의 용이: tmux는 키 바인딩, 상태 표시줄 설정, 자동 시작 스크립트 등 사용자 정의가 매우 용이한 편이다.
3. tmux 설치
대부분의 Unix 기반 시스템에서 패키지 관리자로 쉽게 설치 가능하다.
우분투 (Ubuntu)
sudo apt-get update
sudo apt-get install tmux
맥 OS (macOS)
brew install tmux
4. tmux 사용법
tmux만 입력해도 간단히 시작할 수 있다.
tmux
tmux를 실행하면 새로운 세션을 시작하며, 기본적으로 하나의 창과 패널이 생성된다.
tmux는 'prefix' 키를 통해 명령을 받으므로 주의하자. 키의 기본값은 Ctrl + b 이다.
아래는 tmux 창을 제어하는 기본적인 명령어들이다.
- 새 창 생성: prefix + c
- 창 사이 이동: prefix + n (다음 창), prefix + p (이전 창)
- 창 분할: prefix + " (가로 분할), prefix + % (세로 분할)
- 패널 이동: prefix + 방향키
- 세션 종료: prefix + d
tmux 세션 목록을 보려면 다음의 명령을 사용하면 된다.
tmux ls
세션을 빠져나왔을 때, 다시 연결하려면 아래 명령을 사용한다.
session-id는 tmux ls를 통해 확인할 수 있으니 참고하자.
tmux attach -t [session-id]
5. 결론
tmux는 여러 작업을 동시에 처리하거나,
작업을 중단하고 나중에 이어나갈 수 있는 등
다양한 장점을 가진 터미널 도구이다.
터미널에서 작업하는 데 있어 훨씬 더 효율적이고 유연한 환경을 제공하므로,
tmux를 사용하면 개발자의 생산성을 크게 향상시킬 수 있다고 생각한다.
기본적인 tmux의 기능만으로도 충분히 쓸 만하지만,
손에 익으면 tmux 기본 설정을 수정해보면서
더 자신에게 맞게 커스텀 할 수 있다.