ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 5월 31일 TIL - Linux 알아보기
    TIL(Today I Learned) 2023. 5. 31. 20:07

    ▷ 오늘의 일정

    09:10 ~ 12:00 도커 실무 1주차 강의
    12:00 ~ 13:00 점 심 식 사
    13:00 ~ 16:00 도커 실무 1주차 강의
    16:00 ~ 18:00 코테 문제 풀기
    18:00 ~ 19:00 저 녁 식 사
    19:00 ~ 20:40 하루 공부 내용 정리 및 TIL
    20:40 ~ 21:00 하루 공부 내용 공유

     

    ▷ 오늘의 배움

    📖 Linux OS란?

    • Unix를 기반으로 개발한 OS이며, 서버용 OS로 많이 사용된다. Linux라는 명칭은 특정 OS를 지칭하는 것이 아니다. Windows라는 OS 안에 Windows 98, xp, 10 등 다양한 OS가 존재하는 것과 같이, Linux에도 Debian, Ubuntu, Redhat 등 다양한 OS가 존재한다.
    • Linux는 오픈소스로 소스코드를 자유롭게 보고 수정할 수 있기 때문에 수많은 종류의 Linux 기반 OS가 존재한다.
    • GUI(Graphical User Interface) 환경의 Windows, Mac과 다르게 기본적으로 CLI(Command Line Interface) 환경에서 사용된다.

     

    🧐 로컬에서 ssh로 접속하기

    ssh -i {keypair경로} ubuntu@{public ip주소}

     

    📖 Linux 명령어

    • 디렉토리를 생성하고 이동하기
    # wild card(*): 이름을 지정할 경우 와일드카드를 사용하여 원하는 파일을 빠르게 탐색하거나 실행할 수 있다.
    ls -l ./*.txt # .txt로 끝나는 모든 파일 목록 출력하기
    
    # 디렉토리 생성하기
    mkdir ./test # 현재 경로에 test 디렉토리 생성하기
    
    # 현재 경로 확인하기
    pwd
    
    # 경로 이동하기
    cd {이동할 위치}
    
    # 파일 목록 보기
    ls
    ls -l # 리스트 형식으로 보기
    ls -a # 숨김파일 보기
    ls -al # 리스트 형식으로 숨김파일까지 모두 보기
    • 파일 생성하고 삭제하기
    # 파일 생성하기
    touch {파일.확장자}
    
    # 파일 복사하기
    cp {원본파일} {복사한파일명} # 원본파일을 복사한파일명으로 복사하기
    cp -r {디렉토리} {복사디렉토리} # 디렉토리의 경우 -r 옵션 주기
    
    # 파일 이동하기
    mv {파일경로} {이동할경로}
    mv {파일명} {바꿀 파일명} # 이름을 변경할 때도 사용 가능
    
    # 파일 삭제하기
    rm {파일명}
    rm -r {디렉토리명} # 디렉토리의 경우 -r 옵션 주기
    • 파일 혹은 디렉토리 이름이 .으로 시작할 경우 숨김파일로 취급된다.

     

    📖 파일 읽고 쓰기

        ✏️ vi 편집기 활용해보기

    • vi 편집기 mode 종류: insert mode(텍스트 입력 가능), commend mode(특수한 커맨드 입력 가능)
    • insert mode 진입하기
      • i : 현재 위치에서 insert mode 진입
      • a : 현재 위치에서 커서를 한 칸 앞으로 이동 후 insert mode 진입
      • A : 현재 위치에서 가장 마지막 텍스트로 이동 한 후 insert mode 진입
      • o : 현재 위치에서 한칸 개행 한 후 insert mode 진입
      • esc : insert mode 나가기(commend 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 : 이전 단어 검색

       

         ✏️ 파일에 있는 내용 확인하기

    # 파일 내용보기
    cat {파일명} # 전체 내용이 보여진다.
    
    # 파일의 시작 부분 보기
    head {파일명} # 파일의 첫 10줄을 보여준다.
    head -x {파일명} # 첫 x줄을 볼 수 있다.
    
    # 파일의 끝 부분 보기
    tail {파일명} # 파일의 마지막 10줄 보여주기
    tail -x {파일명} # 마지막 x줄을 볼 수 있다.

     

    📖 패키지 설치하기

         💬  python에서 pip 명령어를 활용하여 외부 패키지를 설치하고 사용하는 것처럼, Ubuntu에서는 apt 명령어를 사용해 외부 패키지를 설치하고 사용할 수 있다.

    sudo apt update # apt install 명령어로 설치할 수 있는 패키지들을 최신화한다.
    #  update 옵션은 os 설치 후 최초 한 번만 실행시켜 주면 된다.
    
    sudo apt install {설치할 패키지}
    
    # sudo는 관리자 권한으로 실행하겠다는 명령어, 기본적으로 패키지를 설치하는 행위는 관리자만 할 수 있기에 sudo를 붙여준다.

     

     

    ▷ 오늘의 시도

    ❗️SSH 접속 시 WARNING: UNPROTECTED PRIVATE KEY FILE! ❗️

    ssh 인증 방법을 public key 로 하면 ssh client 는 개인키(private key) 가 있는 폴더의 권한과 개인 키 파일(보통 id_rsa)의 권한 설정 여부를 확인하고 잘못 설정되었을 경우 발생하는 오류라고 한다. 즉 권한이 적절하지 않아서 문제가 될 때 발생하는 오류이다. 이럴 땐 권한 설정을 다시 해주면 된다고 한다. 기본적으로 소유자가 아닌 사용자에게 권한을 제공해서는 안 되지만 소유자는 최소한 파일을 읽을 수 있도록 권한을 설정해준다.

    # 0400, the most restrictive, e.g., only read permissions to the owning user
    # 0700, the least restrictive, e.g., only full permissions to the owning user
    
    chmod 0400 {파일 경로}

    권한을 바꿔주니 정상적으로 접속한것을 확인 할 수 있다.

     

     

     

    댓글

Designed by Tistory.