꿀팁

[꿀팁] tmux 명령어 총정리!

도도걸만단 2025. 3. 25. 19:10
반응형

위아래로 터미널 기록 보고싶다면

ctrl + b : set -g mouse on

끄고싶다면off (켜있으면 복사 안됨)


 1.tmux new -s <세션이름> (서버가 끊겨도 할당 받은 gpu가 유지됩니다.)
 2. srun --gpus-per-node=1 --time=1-23:00:00 --pty /bin/bash (GPU를 할당)
하신다음에 쓰시면 됩니다.

 

tmux는 터미널 멀티플렉서로, 하나의 터미널 창에서 여러 세션, 윈도우, 그리고 분할된 패널(페인)들을 관리할 수 있게 해준다. 

 


tmux 설치하기

1. 필요한 의존성 설치 (관리자 권한 필요, 한 번만

sudo apt update
sudo apt install -y build-essential libevent-dev libncurses-dev

2. tmux소스 다운로드 & 설치

cd /home/work/data0/minsun
wget https://github.com/tmux/tmux/releases/download/3.3a/tmux-3.3a.tar.gz
tar -xzf tmux-3.3a.tar.gz
cd tmux-3.3a
./configure --prefix=/home/work/data0/minsun/tmux_local
make -j$(nproc)
make install

이렇게 하면 tmux/home/work/data0/minsun/tmux_local/bin/tmux로 설치돼.

3. tmux 명령어를 바로 쓸 수 있게 만들기

echo 'export PATH=/home/work/data0/minsun/tmux_local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

 

4. 확인 및 사용

which tmux
tmux -V
tmux new -s depthpro

 

 


tmux 사용 방법

TMUX는 기본적으로 prefix키인 'ctrl + b'를 누르고 뗀 후, 다음 명령어 키를 눌러야한다.

ctrl + b, <key>

Command mode에서 입력을 해야하는 경우

ctrl + b, :

 


 

이미 “nvs-solver”라는 tmux 세션이 이미 있다면, 그 세션에 재접속(attach)해서 그 안에서 GPU 할당 명령어를 실행하면 된다.

1. tmux 세션에 재접속하기:

tmux attach -t nvs-solver

 

2. 세션 안에서 GPU 할당 받기:

 

재접속한 후, tmux 내에서 아래 명령어를 실행하여 GPU를 할당받는 bash 셸을 시작한다.

srun --gpus-per-node=1 --time=1-23:00:00 --pty /bin/bash

이렇게 하면, 기존 “nvs-solver” 세션을 그대로 활용하면서 GPU 자원을 할당받아 작업할 수 있다.


1. 현재 tmux 세션을 종료하거나 분리한 후 접속

현재 세션에서 Ctrl+B, D 를 눌러 tmux 세션을 분리한 다음, 새로운 터미널에서

tmux attach -t nvs-solver

를 실행한다.

 

2. 현재 세션 내에서 강제로 다른 세션에 접속

만약 현재 tmux 세션 안에서 또 다른 세션에 접속하고 싶다면, 아래와 같이 TMUX 환경 변수를 해제한 후 접속할 수 있다:

unset TMUX
tmux attach -t nvs-solver

 

다만, 세션을 중첩해서 사용하는 것은 혼란을 줄 수 있으므로 권장되지는 않는다.

 

일반적으로는 현재 세션을 분리한 후 새로운 터미널에서 접속하는 방법을 추천한다.

 


1. 세션(Session) 관리

새로운 세션 생성

tmux new -s <세션이름>

→ 지정한 이름의 새로운 세션을 생성한다.

 

세션 목록 보기

tmux ls

→ 현재 실행 중인 모든 세션을 나열한다.

 

세션에 접속(attach)하기

tmux attach -t <세션이름>
tmux a -t <세션이름>

→ 특정 세션에 연결(attach)한다.

 

세션 전환

tmux switch-client -t <세션이름>

→ 현재 클라이언트를 다른 세션으로 전환한다.

 

세션 종료(킬)하기

tmux kill-session -t <세션이름>

→ 지정한 세션을 종료한다.

 

서버 전체 종료

ctrl + b (누른상태로 놓지말고) + dd

tmux kill-server

→ 모든 세션을 종료하고 tmux 서버를 종료한다.

 

세션 분리(detach)하기

→ 기본 키 조합: Ctrl+B, 그리고 D

→ 현재 세션에서 분리(detach)하여 백그라운드로 유지한다.

 


2. 윈도우(Window) 관리

새로운 윈도우 생성

기본 키 조합: Ctrl+B, 그리고 C

→ 현재 세션 내에 새 윈도우를 생성한다.

윈도우 목록 보기

기본 키 조합: Ctrl+B, 그리고 W

→ 현재 세션 내의 모든 윈도우 목록을 표시한다.

윈도우 전환 (숫자 단축키)

기본 키 조합: Ctrl+B 후 숫자 (0~9)

→ 해당 번호의 윈도우로 전환한다.

다음/이전 윈도우로 이동

기본 키 조합: Ctrl+BN (Next) 또는 P (Previous)

→ 순서대로 다음 혹은 이전 윈도우로 이동한다.

윈도우 이름 변경

기본 키 조합: Ctrl+B 후 쉼표(,)

→ 현재 윈도우의 이름을 변경할 수 있다.

현재 윈도우 종료

기본 키 조합: Ctrl+B&

→ 현재 윈도우를 종료(킬)한다.

 


3. 패널(Pane) 관리

새 패널 분할 (세로 분할)

기본 키 조합: Ctrl+B%

→ 수직(좌/우)으로 패널을 분할한다.

새 패널 분할 (가로 분할)

기본 키 조합: Ctrl+B"

→ 수평(상/하)으로 패널을 분할한다.

패널 간 이동

기본 키 조합: Ctrl+B 후 화살표 키

→ 인접한 패널로 이동한다.

패널 번호 표시

기본 키 조합: Ctrl+BQ

→ 각 패널에 번호를 표시하여 빠르게 이동할 수 있도록 한다.

패널 종료

기본 키 조합: Ctrl+BX

→ 현재 선택된 패널을 종료한다.

패널 확대/축소 (Zoom)

기본 키 조합: Ctrl+BZ

→ 현재 패널을 확대하여 전체 창처럼 보이게 하거나, 원래 크기로 되돌린다.

패널 크기 조절

기본적으로 Ctrl+B:를 눌러 커맨드 프롬프트를 열고,

resize-pane -L 10   # 왼쪽으로 10칸 줄이기
resize-pane -R 10   # 오른쪽으로 10칸 늘리기
resize-pane -U 5    # 위쪽으로 5줄 줄이기
resize-pane -D 5    # 아래쪽으로 5줄 늘리기

 

또는, 일부 tmux 설정에서는 Alt+화살표로 크기 조절할 수도 있다.

 


4. 복사(Copy Mode) 및 붙여넣기(Paste)

복사 모드 진입

기본 키 조합: Ctrl+B 후 [

→ 복사 모드에 들어가서 키보드로 스크롤하거나 텍스트를 선택할 수 있다.

텍스트 선택 및 복사

복사 모드에서 방향키를 사용해 커서를 이동하고,

Space를 눌러 선택 시작,

선택 후 Enter를 눌러 복사한다.

붙여넣기

기본 키 조합: Ctrl+B]

→ 버퍼에 복사한 텍스트를 현재 위치에 붙여넣는다.

 


5. 기타 유용한 명령어

tmux 설정 파일 재로드

만약 ~/.tmux.conf 파일을 수정했다면:

tmux source-file ~/.tmux.conf

→ 현재 세션에 새로운 설정을 적용한다.

 

명령 프롬프트 열기

기본 키 조합: Ctrl+B:

→ tmux 내부 커맨드 라인을 열어 다양한 tmux 명령어를 직접 입력할 수 있다.

세션, 윈도우, 패널 목록 확인

tmux list-sessions
tmux list-windows -t <세션이름>
tmux list-panes -t <세션이름>:<윈도우번호>

→ 각각의 목록을 확인할 수 있다.

 

이 메시지는 srun으로 제출한 작업이 아직 할당 대기 상태에 있다는 의미다. GPU가 정상적으로 작동하는지 확인하려면, GPU가 할당된 상태에서 실행 중인 프로세스를 보아야 하는데, 현재는 작업이 큐에 대기 중이므로 nvidia-smi를 실행해도 GPU를 사용 중인 프로세스가 보이지 않는다.


복사 모드로 바꾸기 : 대신 위로 안올라감 페이지

ctrl+ B 누르기+ " : set -g mouse off " 입력

되돌리고싶으면 off -> on


nvidia-smi

srun: job 194278 queued and waiting for resources

 

확인 방법:

1. squeue로 작업 상태 확인

본인의 작업이 얼마나 대기 중인지 확인하려면 아래 명령어를 사용한다:

squeue -u <당신의_사용자이름>

이 명령어는 현재 큐에 있는 작업 목록과 상태를 보여준다.

 

2. 작업이 시작된 후 nvidia-smi 실행

작업이 시작되면, 할당받은 노드에서 nvidia-smi를 실행하면 GPU 사용 상태와 실행 중인 프로세스가 표시된다.

 

즉, 지금은 작업이 할당 대기 상태이므로 GPU가 사용 중이지 않음을 나타내는 것이 정상이며, squeue 명령어로 작업이 언제 실행되는지 확인할 수 있다.

 

 

 

참고

출처: https://whiteramen.tistory.com/18 

반응형