tmux
는 “terminal multiplexer”의 약자로, 단일 터미널에서 여러 세션, 창, 그리고 분할 화면을 제공하여 작업을 동시에 처리할 수 있도록 도와주는 도구입니다.
tmux 세션 과 창
tmux는 세션과 창을 통해 작업을 분리하고 관리할 수 있습니다. 아래와 같이 세션과 창을 비교할 수 있습니다.
구분 | 세션(Session) | 창(Window) |
정의 | tmux 내에서 작업 환경 전체를 관리하는 단위 세션 | 내부에서 하나의 작업 공간을 나타냄 |
위치 | tmux의 최상위 계층 | 세션 안에 포함됨 |
식별자 | 세션 이름 또는 ID (tmux list-sessions) | 창 번호 또는 이름 (Ctrl-b w로 확인) |
역할 | 작업의 큰 범위를 분리 | 하나의 작업 공간을 제공 |
명령어 예시 | tmux new -s dev (세션 생성) | Ctrl-b c (창 생성) |
이동 방법 | tmux attach -t dev (세션 이동/재접속) | Ctrl-b <번호> (창 간 이동) |
세션
은 작업의 큰 범위를 구분하고, 창
은 세션 안에서 세부적인 작업 공간을 관리합니다.
세션 관리
세션은 tmux에서 작업 환경 전체를 관리하는 단위입니다.
기능 | 명령어 | 설명 |
---|---|---|
새 세션 생성 | tmux new -s <세션이름>세션이름> | 새로운 세션 생성 (예: tmux new -s mysession) |
세션 목록 보기 | tmux list-sessions | 현재 실행 중인 세션 목록 보기 |
세션 재접속 | tmux attach -t <세션이름>세션이름> | 특정 세션에 재접속 (예: tmux attach -t mysession) |
세션 종료 | 세션 내에서 exit 입력 또는 tmux kill-session -t <세션이름>세션이름> | 세션 종료 |
세션 분리 | Ctrl + b d | 세션을 백그라운드로 분리 |
창 관리
창은 세션 내부의 작업 공간을 나타냅니다. 한 세션 내에서 여러 창을 생성하여 멀티태스킹이 가능합니다.
기능 | 명령어 | 설명 |
---|---|---|
새 창 생성 | Ctrl + b + c | 새 창 생성 |
창 목록 보기 | Ctrl + b + w | 창 목록 확인 및 이동 |
창 번호 이동 | Ctrl + b + <번호> | 해당 번호의 창으로 이동 |
창 이름 변경 | Ctrl + b + , | 현재 창 이름 변경 |
창 닫기 | exit 또는 Ctrl + b + & | 현재 창 종료 |
창 분할 (가로) | Ctrl + b + " | 가로로 창 분할 |
창 분할 (세로) | Ctrl + b + % | 세로로 창 분할 |
분할 창 간 이동 | Ctrl + b + 방향키 | 분할된 창 간 이동 |
분할 창 닫기 | exit 또는 Ctrl + b + x | 현재 분할 창 닫기 |
복사 모드
복사 모드는 터미널 출력 내용을 스크롤하거나 복사하는 데 사용됩니다. 로그를 확인하거나 명령 출력 결과를 저장하고 싶을 때 유용합니다.
기능 | 명령어 | 설명 |
---|---|---|
복사 모드 진입 | Ctrl + b + [ | 복사 모드로 진입 |
스크롤 이동 | 방향키 | 스크롤 위/아래로 이동 |
복사 시작/종료 | Space/Enter | 복사 영역 설정 후 복사 |
복사 내용 붙여넣기 | Ctrl + b + ] | 복사한 내용 붙여넣기 |
빠른 크기 조절
창의 크기를 동적으로 조정하여 작업 공간을 최적화할 수 있습니다.
기능 | 명령어 | 설명 |
---|---|---|
오른쪽으로 확장 | Ctrl + b + Ctrl + → | 현재 창을 오른쪽으로 확장 |
왼쪽으로 축소 | Ctrl + b + Ctrl + ← | 현재 창을 왼쪽으로 축소 |
아래로 확장 | Ctrl + b + Ctrl + ↓ | 현재 창을 아래쪽으로 확장 |
위로 축소 | Ctrl + b + Ctrl-↑ | 현재 창을 위쪽으로 축소 |
점차 tmux 사용에 익숙해지면서 tmux 에 대해서 장점과 단점을 정리할 수 있을 것 같습니다.
참고
HeonJe Lee | 선임연구원
게이트웨이 On-promise 제품 팀에서 시스템 모니터링 및 관리를 쉽게 다가갈 수 있도록 하기 위한 업무를 하고 있습니다.
Contact: lhjnano@gmail.com
게이트웨이 On-promise 제품 팀에서 시스템 모니터링 및 관리를 쉽게 다가갈 수 있도록 하기 위한 업무를 하고 있습니다.
Contact: lhjnano@gmail.com