Missing semester (5주차 - command line environment)

예니·2021년 1월 10일
0

Command line으로 프로세스 제어하는 법을 배운다.
강의 들으며 강의 노트를 쭉 따라가자 예제도 잘 나와있다.
강의노트

1. man signal 로 뭐가 있는지 살펴보자

2. SIGINT, SIGQUIT

둘다 프로세스를 죽인다.
이 둘의 차이는 강의노트의 파이썬 프로그램을 돌려보자 (컨트롤씨, 컨트롤백슬래시)

  • SIGINT : crtl + c
  • SIGQUIT : ctrl + \

3. SIGSTOP

  • SIGSTOP : ctrl + Z : 프로그램 일시정지
    멈춘 것처럼 보이지만 사실 일시정지

4. nohup 프로그램명 &

  • nohup : 터미널 죽여도 안 죽음 - SIGHUP으로 죽일수 없음
  • & : 백그라운드에서 실행을 의미 (터미널 닫으면 죽음) - SIGHUP으로 죽일수 있음

jobs 로 확인해보면 계속 돌아가고있음. 3번에서 SIGSTOP으로 멈춘 것도 멈춘 것처럼 보이지만 사실은 일시중지라서 남아있음.

5. kill -명령 %숫자

jobs로 확인하고 몇번째인지 확인하고 %숫자 로 말해주면 참조 가능

6. bg, fg

  • bg : 백그라운드에서 실행으로 변경
  • fg : 포그라운드에서 실행으로 변경

ex) bg %숫자 : X번째 프로그램을 백그라운드 실행으로 변경

7. 터미널 멀티플렉서 tmux

여러 개의 터미널을 켜는 것과 동일하게 사용할 수 있다.
단축키로 터미널 사이를 이동할 수 있고, 한번에 확인할 수 있어 편리하다.

  • 설치
    우분투 : $ sudo apt install tmux
    맥 : brew install tmux

설치하고 강의노트에 있는 단축키들을 활용하자.
tmux 기본 키보드 매핑은 ctrl + B 인데 ctrl + A가 좀 더 인체공학적이라 리매핑해서 사용하는 것을 추천

8. alias

긴 명령어를 짧은 별칭을 지어 이용 가능
alias gs="git status"
이런 식으로 해두면 gs 로 git status를 할 수 있음
하지만 alias는 세션을 종료하면 끝남

9. dotfile

  • dotfile : local setting 이 담겨있는 파일

local setting(dotfile)이 점점 길어짐에 따라, 이 dotfile들을 효과적으로 관리하고 간편하게 사용할 수 있는 방법이 필요
폴더를 만들어 각각의 dotfile들을 저장하고 스크립트를 써서 각각의 dofile의 symlink를 홈디렉토리에 만드는 방법도 있지만 깃을 사용하는 것이 편리함

강의 29:52 ~ 41:30 : dotfile, symlink 에 대해선 들어보길 추천

10. ssh

AWS EC2 서버에 접속하는 방식 생각하면 될 듯
키페어를 끌어다가 인증하고 했었는데, 여기서는 키를 생성하고 복사하는 과정까지 다룸.

  • ssh를 통한 파일 복사
  1. cat localfile | ssh remote_server tee serverfile
  2. scp path/to/local_file remote_host:path/to/remote_file
  3. rsync : 로컬과 원격에서 동일한 파일을 탐지해 다시 복사하지 못하게 하므로 scp보다 성능 좋음, 사용 방법은 scp와 유사함

0개의 댓글