본문 바로가기

[OS]Operating System/[Linux]

[Linux] tmux 사용하기

728x90
반응형

tmux란?

원격 서버에 접속해서 작업을 하다보면 ssh 서버와 연결이 끊겨도 오랜 시간 유지되어야 하는 경우가 발생한다.
ex) 모델 학습, 데이터 프로세싱 등
또한 하나의 터미널 창에 여러 개의 터미널 화면을 분할해서 사용해야 하는 경우 tmux를 사용한다.


tmux는 Teminal Multiplexer의 줄임말로, 위의 경우에 window와 session 단위로 관리하기 위한 도구이다.

tmux 주요 용어

  1. session
    tmux 명령어를 실행하면 세션이 생성된다. 세션은 tmux가 관린하는 가장 큰 실행 단위이다. tmux 도구는 생성된 세션에 attach/detach를 할 수 있게 해준다. detach 된 세션은 종료되지 않고 백그라운드에서 계속 실행된다.
  2. window
    세션은 여러 개의 윈도우로 구성된다. 사용자가 터미널 화면으로 보는 view가 윈도우이다. 하나의 세션에서 여러 개의 윈도우가 마치 크롬의 탭처럼 작동된다.
  3. pane
    하나의 윈도우는 여러 개로 분할되어 pane을 구성할 수 있다. 가로/세로로 화면을 분할해가며 팬을 생성한다. 이때 팬은 윈도우마다 다르게 구성할 수 있다.

tmux 설치하기

$ brew install tmux
# 또는
$ sudo apt-get install tmux

tmux 명령어

# 1. session 생성
# 1-1. 기본 명령어, 세션 이름은 숫자로 순차적 생성
$ tmux

# 1-2. 이름을 지정한 session 생성
$ tmux new -s <session_name>
# 또는
$ tmux new-session -s <session_name>

# Change session name
$ tmux rename-session -t <session_name> <new_session_name>


# 2. 특정 session 들어가기
$ tmux a -t <session_name>
# 또는 
$ tmux attach -t <session_name>

# 3. session 전체 리스트 확인
tmux ls

# -- session에 들어간 후
# 세션 이름 수정하기
[Ctrl] + b, $

# create new session (생성)
[Ctrl] + b + c

# session detach (나가기)
[Ctrl] + b + d

# Move previous session
[Ctrl] + b + p

# Move next session
[Ctrl] + b + n

# 방향키로 움직일 수 있는 모드로 전환
[Ctrl] + b + [
# 해당 모드로부터 나오려면 
[Ctrl] + c

# Kill pane
[Ctrl] + d
# 또는
[Ctrl] + b + x

# session 종료
# 1. 마지막 윈도우/팬에서 실행
$ exit
# 2. session 밖에서 실행
$ tmux kill-session -t <session_name>


그렇다면 생성된 session은 언제 죽을까? 서버를 리부팅하거나 누군가가 킬 명령어를 통해 죽는다. 일반적으로는 생성한 사람이 사용한 후에 kill 하는 것이 매너이다. (사용 서버 리소스 줄이기 및 혼동 방지)


Reference

반응형

'[OS]Operating System > [Linux]' 카테고리의 다른 글

[Linux] shell code - [], [[]], (), (()) 차이  (0) 2023.04.30
[Linux] shell script - python exit code  (0) 2023.04.30
[Linux] $?의 의미  (0) 2023.04.30
[Linux] IF문  (0) 2023.04.30
[Linux] 파일 권한 의미  (0) 2023.04.15