가상 터미널 (tmux)

가상 단말 : 필요한 어플리케이션에 직접적으로 연결하지 않고 프록시와 같은 방식으로 가상 단말을 이용하여 어플리케이션에 연결하는 것. 기존의 어플리케이션에 직접 연결하는 경우 네트워크가 끊겼을 때 스스로 종료하게 되는데 가상 단말을 이용하면 사용자가 로그아웃한 상태가 되더라도 계속 동작한다.

가상 단말 설치

sudo apt-get install tmux

가상 단말 실행

tmux

(세션이 종료되어 재접속시 tmux에 다시 접속하기)

tmux attach

가상단말 자체에 명령을 내리고 싶을때는 항상 Ctrl + B 누른 후 실행한다.

  • 가상 단말화면 빠져나오기 ( 사용 예시 : 시간이 걸리는 배치 처리를 서버에서 실행시키고 화면 종료 )

    (Ctrl + B) + D

  • 가상 단말 화면 새로운 탭 열기

    (Ctrl + B) + C

  • 가상 단말 화면에서 다른 탭 화면으로 넘어가기

    (Ctrl + B) + N 다음 탭

    (Ctrl + B) + P 이전 탭

  • 화면 상,하 분할

    (Ctrl + B) + "

  • 화면 좌,우 분할

    (Ctrl + B) + %

  • 화면 분할된 상태에서 각 화면 포커스 이동하기

    (Ctrl + B) + 방향키 ex) 아래의 화면으로 포커스를 이동하기 위해서는 (Ctrl + B) +

  • 분활된 화면 종료시키기

    (종료시키고 싶은 화면에 포커스 맞춘 후) exit

  • tmux에서 스크롤 올리기,내리기

    (Ctrl + B) + [ , (Ctrl + B) + ]

  • 분활된 화면 크기 조정

    (Ctrl + B) + Ctrl + 방향키

명령어 이력

위 아래로 전에 실행했던 명령어 실행시키는 건 알겠고, 좀 더 훨씬 전에 했던 명령어들을 보고 싶을 때.

vim ~/.bash_history

이렇게 명령어 찾는 것보다는 Ctrl + R 을 이용하여 원하는 명령어 이력을 검색할 수 있음.

Ctrl + R + “검색하고 싶은 내용”

기본적으로 위의 명령어는 명령어 이력의 윗 부분에서 검색하게 되서 지나쳐버린 명령어들(아랫부분)에 있는 명령어를 다시 검색할 수 없게 된다. 그러기 때문에 아랫부분의 명령어도 검색할 수 있도록 추가적인 bash의 설정이 필요하다.

vim ~/.bashrc

Shift + G으로 마지막 라인으로 이동한 후 밑에 내용을 적어준다.

stty stop undef

다음으로 현재 접속중인 콘솔을 종료시키고 재접속함으로 새로운 설정을 읽어 들인다.

아랫부분 명령어 검색

Ctrl + S + “명령어 이력”

명령어 이력이 무한정하게 모든 이력들을 저장하고 있지 않다. 명령어 이력을 저장하는 한도를 정해놓았기 때문인데 이들또한 bashrc 설정을 이용하여 조절할 수 있다.

vim ~/.bashrc

Shift + G으로 마지막 라인으로 이동. 아래의 설정을 삽입한다. HISTSIZE는 명령어 이력의 최대 건수, HISTFILESIZE는 .bash_history에 저장할 이력의 최대 건수

export HISTSIZE 10000
export HISTFILESIZE 10000

파일 복사

scp를 이용할 것인데, 이때 로컬컴퓨터와 목적컴퓨터 모두 scp가 설치되어있어야 한다.

scp [복사할 파일] [목적지]

ex) 현재 폴더에 test.txt 파일을 127.0.0.1 kim계정의 /tmp 위치에 저장
scp ./test.txt kim@127.0.0.1:/tmp

반대로 다른컴퓨터에 있는 파일을 자신에게 가져올수도 있다.

scp kim@127.0.0.1:/tmp/*.txt ~/

시스템 과부하

현재 시스템 모니터하기

top

프로세스를 메모리 사용량 순서로 나열하기

Shift + M

모니터링 하기

  • Load average : CPU가 처리하는 걸 기다리는 작업의 개수
  • Mem : 메인 메모리 사용정도 . 메모리가 부족해지면 디스크 I/O가 대량으로 발생하게 된다(=Swap Out)
  • Swap : 현재 스왑중인 양
  • 프로세스
    • %CPU : CPU 사용률
    • %MEM : 메모리 사용률
    • TIME+ : CPU를 차지하고 있는 시간
    • COMMAND : 프로세스가 실행되었을 때 실행한 명령어
    • PID : 프로세스 실행 ID

프로세스 종료시키기

kill [PID]

여러개 프로세스 종료시키기

kill [PID1] [PID2] [...] [...] 

마치며

  • 눈으로 보는 것보다 실제로 다양하게 연습해보는 것이 기억에 남는다.