리눅스 기초 시리즈의 31번째 시간입니다! 지난 시간에는 터미널의 가독성을 극한으로 끌어올리는 폰트 튜닝을 다뤘습니다. 이제 눈이 편안해졌으니, 그 안에서 더 효율적으로 일할 방법을 찾아야겠죠? 터미널 창 하나에서 코딩도 하고, 로그도 보고, 서버 상태도 체크하고 싶은데 창을 여러 개 띄우기는 번거로울 때가 있습니다.
그 해답은 바로 tmux (Terminal Multiplexer)에 있습니다. 오늘은 하나의 터미널을 여러 개의 창(Window)과 패널(Pane)로 쪼개 쓰고, 심지어 터미널 연결이 끊겨도 작업이 그대로 유지되는 마법 같은 도구, tmux 활용기를 공유하겠습니다.
1. 나의 경험담: "SSH 연결이 끊겨도 내 코드는 무사해"
최근 제 블로그인 sunyjini.com 서버에서 긴 시간이 걸리는 데이터 백업 스크립트를 돌리던 중이었습니다. 갑자기 Wi-Fi 신호가 불안정해지면서 SSH 접속이 끊겨버렸죠. 평소라면 실행 중이던 프로세스가 모두 죽어버려 처음부터 다시 시작해야 했겠지만, 저는 tmux 세션 안에서 작업을 돌리고 있었습니다.
다시 인터넷이 연결되었을 때, 저는 당황하지 않고 서버에 재접속해 tmux attach를 입력했습니다. 놀랍게도 제가 돌려놓은 백업 스크립트는 끊김 없이 여전히 실행 중이었고, 이전에 나누어 놓았던 화면 구성도 그대로 살아있었습니다. 터미널의 물리적 연결에 구애받지 않는 독립적인 작업 공간을 가졌을 때의 그 든든함은 리눅스 엔지니어로서 느낄 수 있는 최고의 안도감이었습니다.
2. Before: 창 하나에 명령어 하나, 비효율의 극치
tmux를 쓰기 전에는 여러 작업을 동시에 보기 위해 윈도우 창을 서너 개씩 띄워놓고 마우스로 클릭해가며 화면을 옮겨 다녀야 했습니다. SSH 접속도 창마다 따로 해줘야 했고, 실수로 창을 닫기라도 하면 그 안의 작업은 안녕이었죠.
(▲ Before: 하나의 터미널 세션은 하나의 생명력만 가졌습니다. 연결이 끊기면 프로세스도 죽고, 화면 구성도 사라지는 연약한 구조였죠.)
3. Action: 설치부터 화면 분할 필살기까지
이제 tmux를 설치하고 가장 자주 쓰는 핵심 단축키들을 익혀보겠습니다. tmux의 모든 단축키는 Prefix key (기본값 Ctrl+b)를 먼저 누른 뒤에 작동한다는 점만 기억하면 됩니다.
tmux 설치 및 기본 실행 코드:
# 1. tmux 설치 (Ubuntu 기준) sudo apt update && sudo apt install tmux
2. 새로운 tmux 세션 시작
tmux
3. [단축키] 가로 분할: Ctrl + b 누른 후 "
4. [단축키] 세로 분할: Ctrl + b 누른 후 %
5. [단축키] 세션 분리(Detach): Ctrl + b 누른 후 d
(▲ Action: 단 몇 번의 키 입력으로 터미널이 4분할 되었습니다. 마우스 없이 키보드만으로 이 패널 사이를 자유자재로 이동하며 멀티태스킹을 할 수 있습니다.)
4. After: 세션 보존과 무한한 확장성
tmux를 도입한 뒤, 제 개발 환경은 '불사신'이 되었습니다. 이제 퇴근할 때 SSH를 그냥 닫아버려도 다음 날 아침에 그대로 이어갈 수 있습니다.
달라진 점들:
- 세션 유지:
tmux ls로 기존 세션을 확인하고tmux attach -t 0으로 언제든 복귀합니다. - 시각적 효율: 상단 패널에선 코드를 고치고, 하단에선 컴파일 결과를 확인하며, 우측에선 리소스 사용량을 실시간으로 봅니다.
- 협업 능력: 동일한 tmux 세션에 동료와 동시 접속하여 화면을 공유하며 페어 프로그래밍을 할 수도 있습니다.
5. 실험 요약 및 핵심 단축키
| 기능 | 단축키 (Ctrl+b 이후) | 비유 |
| 가로 분할 | " (큰따옴표) | 방 가로로 나누기 |
| 세로 분할 | % (퍼센트) | 방 세로로 나누기 |
| 패널 이동 | 화살표 방향키 | 다른 방으로 건너가기 |
| 세션 분리 | d (Detach) | 일하다가 문 잠그고 나가기 |
6. 마치며: 최신 엔진으로 달릴 준비가 되었나요?
리눅스 기초 31단계를 거치며 우리는 이제 시스템 자원과 파일, 그리고 자신의 작업 세션까지 완벽하게 통제할 수 있게 되었습니다. 엔진(커널)이 좋아졌으니 이제 그 위에서 돌아가는 우리의 업무 방식도 스마트해져야겠죠? tmux는 리눅스 사용자에게 단순한 유틸리티를 넘어 하나의 '워크플로우 혁명'입니다.
오늘의 인사이트: "터미널 창을 여러 개 여는 것은 노동이고, tmux 세션 하나를 지배하는 것은 예술이다."
31번째 이야기를 마칩니다. 이제 우리만의 '슈퍼 리눅스' 워크스테이션이 완성되어 가고 있습니다. 다음 시간에는 터미널의 또 다른 필수 도구, 'Vim 에디터에서 플러그인을 활용해 IDE 부럽지 않은 개발 환경을 구축하는 법'에 대해 다뤄보겠습니다.
이 글이 여러분의 멀티태스킹 능력을 올리는 데 도움이 되었나요? 혹시 tmux의 기본 Prefix 키인 Ctrl+b가 불편하시다면, Ctrl+a로 바꾸는 설정 팁을 다음 포스팅에서 알려드릴까요?
tmux를 쓰다가 패널 크기를 조절하는 법이 궁금하시다면 댓글로 남겨주세요. 마우스로 드래그해서 조절할 수 있게 만드는 마법의 설정을 공유해 드릴게요!
'IT' 카테고리의 다른 글
| [리눅스 기초 #33] 서버가 컨테이너 속으로? 도커(Docker) 기초 명령어로 환경 완벽 제어하기 (0) | 2026.02.06 |
|---|---|
| [리눅스 기초 #32] Vim에서 Neovim까지: 터미널 에디터를 나만의 IDE로 변신시키기 (0) | 2026.02.06 |
| [리눅스 기초 #30] 눈이 편해야 코딩이 산다: 폰트 이식과 너드 폰트(Nerd Fonts) 가독성 튜닝 (0) | 2026.02.05 |
| [리눅스 기초 #29] "명령어를 찾을 수 없습니다": $PATH 설정으로 터미널에 길 터주기 (0) | 2026.02.04 |
| [리눅스 기초 #28] 내 램이 다 어디 갔지? .wslconfig로 WSL2 자원 관리 끝내기 (0) | 2026.02.04 |