반응형

 

별 내용 필요 없이 바로 빠른 사용 부터 !!


#  세션 생성
$ tmux new -s [세션 이름]


# 세션 리스트
$ tmux ls

# 세션 접속
$ tmux a -t [세션 이름]

# 세션 나가기
$ 컨트롤 + b , 그리고 d (detach)

# 세션 삭제
$ tmux kill-session -t [세션 이름]

# 세션 전체 삭제
$ tmux kill-server



# 세션 진입 후 창 분할
$ 컨트롤 + b , 그리고 % 또는 "

# 세션 진입 후 창 이동
$ 컨트롤 + b , 그리고 방향키 

1. 설치

Ubuntu/Debian:

sudo apt update
sudo apt install tmux

CentOS/RHEL:

sudo yum install tmux

macOS:

brew install tmux

설치 확인:

tmux -V

2. 기본 개념

  • Session: 하나의 작업 환경 (여러 개를 만들 수 있음)
  • Window: 세션 안의 탭 (브라우저 탭과 비슷)
  • Pane: 윈도우를 분할한 화면

3. 필수 명령어

세션 관리:

tmux                    # 새 세션 시작
tmux new -s mysession   # 이름 지정해서 세션 시작
tmux ls                 # 세션 목록 보기
tmux attach -t mysession  # 세션에 다시 접속
tmux kill-session -t mysession  # 세션 종료

4. 핵심 단축키

모든 tmux 명령은 프리픽스 키 (Ctrl+b) 를 먼저 누른 후 사용합니다.

세션 제어:

  • Ctrl+b 그 다음 d - 세션에서 분리 (detach, 세션은 백그라운드에서 계속 실행)
  • Ctrl+b 그 다음 $ - 세션 이름 변경

윈도우(탭) 관리:

  • Ctrl+b 그 다음 c - 새 윈도우 생성 (create)
  • Ctrl+b 그 다음 n - 다음 윈도우로 이동 (next)
  • Ctrl+b 그 다음 p - 이전 윈도우로 이동 (previous)
  • Ctrl+b 그 다음 0-9 - 특정 번호 윈도우로 이동
  • Ctrl+b 그 다음 , - 윈도우 이름 변경
  • Ctrl+b 그 다음 & - 윈도우 닫기

패널(화면 분할) 관리:

  • Ctrl+b 그 다음 % - 수직 분할 (좌우로 나누기)
  • Ctrl+b 그 다음 " - 수평 분할 (위아래로 나누기)
  • Ctrl+b 그 다음 방향키 - 패널 간 이동
  • Ctrl+b 그 다음 x - 현재 패널 닫기
  • Ctrl+b 그 다음 z - 현재 패널 확대/축소 토글
  • Ctrl+b 그 다음 { 또는 } - 패널 위치 바꾸기

기타 유용한 명령:

  • Ctrl+b 그 다음 ? - 모든 단축키 목록 보기
  • Ctrl+b 그 다음 t - 시계 표시
  • Ctrl+b 그 다음 [ - 스크롤 모드 (q로 종료)

5. 실전 연습 시나리오

시나리오 1: 기본 사용법

# 1. tmux 시작
tmux

# 2. 현재 윈도우에서 작업 (예: vim으로 파일 편집)
vim test.txt

# 3. Ctrl+b 그 다음 c 로 새 윈도우 생성
# 4. 새 윈도우에서 다른 작업 (예: 로그 모니터링)
tail -f /var/log/syslog

# 5. Ctrl+b 그 다음 n 또는 p로 윈도우 간 이동
# 6. Ctrl+b 그 다음 d로 세션에서 분리
# 7. 터미널 종료해도 작업은 계속 실행됨

시나리오 2: 화면 분할 활용

tmux

# 수직 분할 (Ctrl+b %)
# 왼쪽: 코드 편집
vim app.py

# 오른쪽 패널로 이동 (Ctrl+b 방향키)
# 오른쪽: 테스트 실행
python app.py

# 오른쪽을 다시 수평 분할 (Ctrl+b ")
# 아래: 로그 확인
tail -f app.log

6. 설정 파일로 더 편하게 사용하기

~/.tmux.conf 파일을 만들어 설정을 커스터마이징할 수 있어요:

# 마우스 사용 활성화
set -g mouse on

# 윈도우 번호를 1부터 시작
set -g base-index 1

# 패널 번호를 1부터 시작
setw -g pane-base-index 1

# 더 많은 히스토리 저장
set -g history-limit 10000

# 상태바 스타일
set -g status-style 'bg=blue fg=white'

설정 적용:

tmux source-file ~/.tmux.conf

7. 자주 사용하는 패턴

원격 서버 작업:

ssh user@server
tmux new -s work
# 작업 시작...
# Ctrl+b d로 분리
# 연결 끊김

# 나중에 다시 접속
ssh user@server
tmux attach -t work  # 작업이 그대로 있음!

여러 프로젝트 동시 관리:

tmux new -s project1
# 프로젝트1 작업
# Ctrl+b d

tmux new -s project2
# 프로젝트2 작업
# Ctrl+b d

tmux ls  # 모든 세션 확인
tmux attach -t project1  # 원하는 세션으로 복귀
반응형

'System' 카테고리의 다른 글

네트워크 통신 확인하기  (0) 2024.03.14
ssh로 서버 접속하기  (1) 2024.03.04
반응형

1.네트워크 통신 확인이란?

  • 데이터 엔지니어 포지션이라면 파이프라인 설계나 시스템을 연동할 때 네트워크 방화벽 체크는 필수다.
  • 자주 사용하는 네트워크 통신 확인 하는 방법을 소개한다.

 

2.네트워크 통신 확인

 

telnet 으로 ACL 확인

$ telnet [IP] [port]

 

 

프록시 확인

$ traceroute -p 8020 jssvs-server.home.io
$ traceroute -p [포트] [ip]

 

curl 명령어를 이용한 확인

$ curl -v [ip]:[port]

$ curl -vvv -x [proxy ip] [ip]:[port]

 

 

ping 명령어를 이용한 확인

$ ping [IP]:[port]
반응형

'System' 카테고리의 다른 글

Tmux 소개  (0) 2025.10.12
ssh로 서버 접속하기  (1) 2024.03.04
반응형

1. ssh 로 서버 접속하기란?

  • SSH 는 컴퓨터와 서버 간의 안전한 원격통신을 제공해주는 프로토콜. 즉 통신을 어떻게 하겠다는 약속이다.
  • SSH 는 암호화, 인증, 원격제어, 파일전송이 특징이다.
  • pem 키를 생성해서 ssh 명령어 프로그램을 이용해 서버에 접근할 수 있다.

 

** AWS 를 예로 vpc 를 생성하면 public / private subnet 으로 네트워크를 외/내부 망으로 구분할 수 있다.

** 보안 네트워크 아키텍쳐를 따라 private zone 에 서비스/작업 서버를 두고 public zone 에 bastion 서버를 구성해서 접근 한다.

2. SSH 접속

** 사전 조건 - 접속하는 서버 측에 22번 포트의 방화벽 오픈 룰이 구성되있어야 한다.

 

1) 명령어 라인을 이용한 방법

 

ssh -i [pem 키 ] [서버]@[호스트]

$ ssh -i ~/.ssh/sample-key.pem ec2-user@----.ap-northeast-2.compute.amazonaws.com

 

 

2) config 파일을 이용한 방법

# vi ~/.ssh/config 파일을 생성 및 수정

Host dev-bastion
    HostName ---.ap-northeast-2.compute.amazonaws.com
    User ec2-user
    IdentityFile ~/.ssh/sample-key.pem

 

$ ssh dev-bastion

 

 

 

** 그 외에 pem 키를 서버측의 authorized_keys 에 등록하는 방법도 있다.

 

** Tip)  alias 로 미리 명령어를 등록해두면 편하다.

반응형

'System' 카테고리의 다른 글

Tmux 소개  (0) 2025.10.12
네트워크 통신 확인하기  (0) 2024.03.14

+ Recent posts