Sparta Coding Club/Today I Learned [TIL]

[TIL] #DAY - 050 - (1) 도커 실무 정리 : 리눅스(내일배움캠프AI 3기)

양한마리 2022. 11. 15. 16:14
728x90



도커 실무 정리

리눅스
1. 리눅스 서버 설정
2. ssh 접속
3. 리눅스 다뤄보기

 




 

1. 리눅스 서버 설정

AWS / E2C : 가상서버 환경 설정
 1. 인스턴스 시작
 2. 이름 및 애플리케이션 설정 : Ubuntu (프리티어 : 테스트)
 3. 인스턴스 유형 t2.micro (프리티어 : 테스트)
 4. 키페어 설정 : pem 키페어 파일 생성
 5. 네트워크 설정 : http, https, ssh 체크
 6. 스토리지 구성 : 프리티어 최대 30gib 사용가능

2. ssh 접속

ssh = 시큐어 셀 (아래 추가 설명 확인)
 1. mac os 는 터미널, 윈도우는 cmd, 파워셀 열기
 2. ssh -i (A) ubuntu@(2) 입력 후 엔터
  - (A) : pem 파일 경로 (키페어 파일)
  - (B) : 인스턴스 /  세부정보 / 퍼블릭 IPv4 주소
 3. 첫 접속시 yes 입력 시 접속 완료

3. 리눅스  다뤄보기

 1. 파일 및 디렉토리

  • 상대경로와 절대경로란?
    • 리눅스에서는 디렉토리를 이동하거나 파일을 지정할 때, 상대경로 혹은 절대경로를 사용하게 됩니다.
    • 절대경로를 사용할 경우 현재 위치와 관계 없이 절대적인 경로를 입력하여 사용합니다.
      • ex) cd /home/user/example/dir/
    • 상대경로는 내 현재 위치를 기준으로 경로를 지정하게 됩니다.
      • ex) cd ./dir/ 현재 위치에 존재하는 dir 디렉토리로 이동
      • ex) cd ../ 현재 위치를 기준으로 상위 디렉토리로 이동
  • > 특정 파일이나 디렉토리를 지정할 때, 이름을 지정해 줘야 하는 경우가 있습니다. 이 때 wild card(*)를 사용하면 원하는 파일을 더 빠르게 탐색하거나 실행시킬 수 있습니다.
  • 디렉토리를 생성하고 이동해보기
    • mkdir / 디렉토리 생성하기
    • pwd / 현재 경로 확인하기
    • cd / 경로 이동하기
    • ls / 파일 목록 보기
  • 파일을 생성하고 삭제해보기
    • touch / 파일 생성하기
    • cp / 파일 복사하기
    • mv / 파일 이동하기
    • rm / 파일 삭제하기
  • 리눅스에서 숨김 파일을 취급하는 방법
    • 리눅스에서는 파일 혹은 디렉토리 이름이 .으로 시작할 경우 숨김 파일로 취급됩니다.
      • ex) touch test : test라는 이름의 파일 생성 touch .test : .test라는 이름의 숨김 파일 생성
    • 숨김 파일은 ls 명령어의 -a 옵션으로 확인할 수 있습니다.

 

2. 파일 읽고 쓰기

  • vi 편집기 활용해보기
    • vi 편집기 mode 종류
      • insert mode : 텍스트를 입력 할 수 있는 상태
      • commend mode : 특수한 commend를 입력 할 수 있는 상태
    • insert mode 진입 방법
      • i : 현재 위치에서 insert mode 진입
      • a : 현재 위치에서 커서를 한 칸 앞으로 이동 후 insert mode 진입
      • A : 현재 위치에서 가장 마지막 텍스트로 이동 한 후 insert mode 진입
      • o : 현재 위치에서 한칸 개행 한 후 insert mode 진입
      • esc : insert mode 나가기
    • commend mode 명령어
      • u : undo (ctrl + z와 동일)
      • ctrl + r : redo
      • gg : 커서를 가장 처음으로 옮김
      • G : 커서를 마지막 줄로 옮김
      • dd : line 잘라내기
      • yy : line 복사
      • p : 붙여넣기
      • :se nu : 라인 줄 표시
      • :숫자 : 숫자 라인으로 이동 (ex - :10 : 10번째 라인으로 이동)
      • 특정 단어 검색
        • /word : word라는 단어를 검색
        • /\\cword : 대소문자를 구분하지 않고 word라는 단어를 검색 (ex - /\cword)
        • n : 다음 단어 검색
        • N : 이전 단어 검색
      • 수정한 문서 저장:q : 나가기:q! : 수정내역이 있어도 저장하지 않고 강제로 나가기
      • :wq : 저장 하고 나가기
      • :w : 저장
  • 파일에 있는 내용 확인하기
    • cat / 파일 내용 보기
    • head / 파일의 시작 부분 보기
    • tail / 파일의 끝 부분 보기

 

3. 패키지 설치 

sudo apt update 
sudo apt install net-tools
apt install package / pakage 설치하기

* sudo = 관리자 권한 명령어

4. 자주 사용되는 명령어

  • tab / 자동완성 시키기
  • grep / 특정 문자열이 포함 된 파일 찾기
  • find / 특정 조건의 파일 찾기
  • history / 명령어 기록 출력하기
  • htop / 리소스 사용량 확인하기
  • df / 남은 디스크 용량 확인하기
  • du / 특정 파일 혹은 폴더가 사용중인 디스크 용량 확인하기

 


 

SSH이란? (What is SSH?)

시큐어 셀(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 즉, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해서 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜이다.

  • 대표적인 사용 :
    1. 데이터 전송
    2. 원격 제어
  • 데이터 전송의 예 :
    • 깃 허브
    • 원격 저장소, 소스 코드를 원격 저장소인 깃헙에 푸쉬할 때 SSH를 활용해 파일을 전송하게 된다.
  • 원격 제어의 예 :
    • AWS와 같은 클라우드 서비스는 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해서 SSH을 통한 접속을 해야한다.
  • 사용이유 :
    • 보안때문에 FTP나 Telnet과 같은 다른 컴퓨터 통신을 사용하지 않는다.
    • SSH는 보안적으로 훨씬 안전한 채널을 구성한 뒤 정보를 교환하기 때문에 보다 보안적인 면에서 뛰어나다.
  • 어떤 방식으로 서로 다른 컴퓨터가 안전하게 통신하게 하는가?
    • Public Key and Private Key :
      • SSH는 다른 컴퓨터와 통신할 때 일반적으로 사용하는 비밀번호 입력을 통한 접속을 하지 않는다.
      • 기본적으로 SSH는 한 쌍의 Key를 통해 접속하려는 컴퓨터와 인증 과정을 거친다.
      • 이 한 쌍의 Key는 다음과 같다.
    • Public Key :
      • 단어 뜻 그대로 공개되어도 비교적 안전한 Key.
      • 이 키를 통해 메세지를 전송하기 전 암호화를 한다.
      • 암호화는 가능하지만 복호화는 불가능하다.
    • Private Key :
      • 절대로 외부에 노출되어서는 안되는 Key.
      • 본인의 컴퓨터 내부에 저장하게 되어있다.
      • 암호화된 메세지를 복호화 할 수 있다.

 

 

728x90
반응형