[강의] CSS/Unix/Git_실용적 유닉스 커맨드1

김하은·2023년 10월 23일
0

코드잇 강의 정리

목록 보기
23/60

유닉스 커맨드 시작하기

유닉스 커맨드란?

  • command: 명령어
  • Command Line Interface / Command Line(CLI환경): 커맨드를 통해 컴퓨터를 사용하는 방식
  • Graphical User Interface(GUI환경): 화면과 마우스를 통해 컴퓨터를 사용하는 방식
  • 유닉스 (Unix): 1970년대 초반에 개발된 운영 체제
    소프트웨어를 개발하고 실행할 수 있는 편리한 플랫폼
    유명한 운영체제들 중 윈도우를 제외한 대부분이 유닉스에서 파생됐고 이를 묶어서 유닉스 운영 체제 라고 부름
    따라서 유닉스 커맨드가 보편적으로 사용됨

터미널 사용해 보기

  • haeun@DESKTOP-1N7RI0E:~$:프롬프트
    haeun 사용자가 DESKTOP-1N7RI0E 컴퓨터에 로그인되어 있다는 뜻
    ~: 내가 현재 위치해 있는 폴더로 물결 기호느 사용자의 홈 폴더
    $or%: 프롬프트의 끝을 알리는 기호
    프롬프트가 보인다는 건 커맨드를 입력받을 준비가 됐다는 것

터미널? shell? bash?

  • 터미널: 인풋을 받고, 아웃풋을 출력해 주는 프로그램
    우리가 보통 생각하는 커맨드를 입력하는 '검은 화면'
  • shell: 커맨드를 해석해 주는 프로그램
    컴퓨터는 datecal같은 커맨드를 이해하지 못하며 컴퓨터가 이해할 수 있는 형태로 바꿔줘야함
    shell에는 여러 종류가 있는 데 그 중 하나가 bash(Bourne again shell)와 zsh(Z shell)임
    bash가 가장 보편적임

커맨드의 기본 형태

  • 커맨드 옵션 아규먼트
  • 인자 (argument): 커맨드의 대상
  • 옵션: 커맨드가 실행되는 방식을 바꿀 수 있음(-+알파벳)

커맨드 매뉴얼: man

  • []: 선택해서 쓸 수 있는 부분
  • -: -가 붙은건 옵션이고 아닌거 아규먼트임 / 아규먼트를 받는 옵션도 있음

터미널 사용 꿀팁

  • 위쪽 방향키: 이전에 실행했던 커맨드 입력
  • Ctrl + A: 커맨드 줄 가장 앞부분으로 커서 이동
  • Ctrl + E: 커맨드 줄 가장 뒷부분으로 커서 이동
  • Alt + 좌우방향키: 단어 단위로 커서 이동
  • `Ctrl + C: 실행 취소
  • cleat커맨드: 터미널 내용 지움 / 커맨드 히스토리는 남아 있음
  • Tab: 커맨드나 아규먼트 자동 완성

디렉토리와 파일 다루기

유닉스 폴더 구조와 파일 경로

  • 유닉스의 디렉토리 구조: root 파일에서 시작하는 거꾸로된 나무와 같은 구조
  • 사용자의 홈 디렉토리: 사용자의 개인 파일들이 들어 있음
    컴퓨터에 일반적으로 필요한 파일들은 홈 디렉토리 바깥에 있음
  • 파일경로: 디렉토리나 폴더의 위치를 문자열로 표기한 것
    • 루트부터 해당 파일 까지의 디렉토리를 한 줄로 써줌
    • 디렉토리 안으로 들어갈 때는 /를 써주면 됨
    • 이 때 루트는 /로 퉁칠 수 있음
    • haeun 디렉토리의 경로 예시: /home/haeun
    • 현재 로그인된 사용자의 홈디렉토리는 ~로 표시할 수 있음
      즉, haeun 사용자의 경우 ~ = home/haeun
      ~/Documents/Projects처럼 줄여쓰는 데 사용할 수 있음

디렉토리와 파일 둘러보기: pwd, cd, ls

  • 워킹 디렉토리 = 현재 디렉토리
  • pwd(print working directory): 현재 디렉토리의 경로
  • cd(Change Directory): 다른 디렉토리로 이동
    • 가고자 하는 디렉토리의 경로를 인자로 받음
    • 예외적으로 홈디렉토리로 오고 싶을 때는 아무 아규먼트도 안 줘도 됨
      - cd -:이전에 있던 디렉토리로 감
  • ls(list): 디렉토리의 내용물을 리스트해서 보여줌
  • 경로를 인자로 주면 해당 인자의 내용물을 리스트 해줌

절대 경로와 상대 경로

  • 절대 경로: 루트 디렉토리를 기준으로 어떤 파일이나 디렉토리의 고유한 경로를 표시하는 것
    경로가 길어질수록 불편하다는 문제가 있음
  • 상대 경로: 워킹 디렉토리를 기준으로 경로를 나타내는 것
    .: 현재 디렉토리
    ./Documents/PycharmProjects
    ..: 상위 디렉토리
    ./를 생략할 수 있음: 경로가 루트 /로 시작하지 않으면 자동으로 상대 경로로 인식하기 때문

파일이나 디렉토리 이름에 공백이 있을 경우

  • 파일이나 디렉토리 이름에는 공백을 안 사용하는게 더 바람직함 (대신 _ 사용하기)
  • '', "", \이용하기
    cd hello\ world

ls의 중요한 옵션들

  • a 옵션: 모든 파일과 디렉토리를 보여줌
    • 유닉스 파일 시스템에는 숨겨진 파일들이 있음 (이름이 .으로 시작함)
    • 주로 사용자 설정을 정장하고 있는 파일이나 컴퓨터가 자동으로 생성하는 파일들이 숨겨짐
  • 옵션: long format으로 추가 정보를 볼 수 있음

루트(Root) 디렉토리 안에는 어떤 것들이 있을까?

  • /bin: binaries의 약자로 binary는 간단히 말해서 컴퓨터가 실행할 수 있는 프로그램을 뜻함
    • 커맨드도 프로그램이라고 할 수 있으며 커맨드를 입력하면 커맨드에 해당하는 프로그램이 실행되는 것임
    • 그 프로그램의 일부가 /bin디렉토리 안에 있음
      읽어 보기

디렉토리와 파일 만들기: mkdir, touch

  • mkdir dir1 dir2: 디렉토리 dir1dir2를 만드는 명령어
  • touch: 파일의 마지막 접근 시간이나 수정 시간을 업데이트 하는 커맨드
  • touch file1 file2: 파일 file1file2를 만드는 명령어

CLI 텍스트 에디터 vim

  • CLI 전용 텍스트 에디터들 중 하나
  • Vim의 4가지 사용 모드
    • 일반 모드(Normal Mode)
    • 입력 모드(Insert Mode)
    • 비주얼 모드(Visual Mode)
    • 명령 모드(Command Mode)

vim으로 파일 작성하기

파일 내용 살펴보기: cat, less, head, tail

  • cat PATH1 PATH2 ...: 경로에 해당하는 파일들의 내용을 출력하며 파일이 여러 개인 경우 내용을 모두 붙여서 출력함
    concatenate는 이어붙이다 라는 뜻
  • less PATH: PATH에 해당하는 파일을 페이지 단위로 나눠서 보여줌
    • 단축키:
      줄 이동: 위쪽 / 아래쪽 방향키
      다음 페이지: space 아니면 f
      이전 페이지: b
      마지막 페이지: G
      처음 페이지: g
  • head [-n count] PATH: PATH에 해당하는 파일의 처음 10줄을 출력함
    n 옵션: 출력되는 줄 개수를 바꿈
  • tail [-n count] PATH: PATH에 해당하는 파일의 마지막 10줄을 출력함
    n 옵션: 출력되는 줄 개수를 바꿈

디렉토리와 파일 옮기기, 이름 변경하기: mv

  • mv [-i] SOURCE_PATH DEST_PATH: 디렉토리/파일을 이동하거나 이름을 변경함
    • 두 번째 아규먼트(DEST_PATH) 가 이미 존재하는 디렉토리의 경로일 경우 SOURCE_PATH에 해당하는 디렉토리/파일을 그 안으로 이동함
    • 그렇지 않으면 DEST_PATH로 이름 변경함
    • i 옵션: 이동/이름 변경을 할 때 똑같은 이름의 디렉토리/파일이 있으면 덮어씌워지는데, 확인을 하면서 mv를 하려면 i 옵션을 사용하면 됨

디렉토리와 파일 복사 붙여넣기: cp

  • cp [-ri] SOURCE_PATH DEST_PATH: 디렉토리/파일을 복사함
    • 두 번째 아규먼트(DEST_PATH) 가 이미 존재하는 디렉토리의 경로일 경우 SOURCE_PATH에 해당하는 디렉토리/파일을 그 안으로 복사함
    • 그렇지 않으면 DEST_PATH라는 이름으로 복사함
    • r 옵션: 디렉토리를 복사할 때는 꼭 r 옵션을 써야 함
    • i 옵션: 복사할 때 똑같은 이름의 파일이 있으면 덮어씌워지는데 확인을 하면서 cp를 하려면 i 옵션을 사용하면 됨

디렉토리와 파일 삭제하기: rm

  • rm [-rif] PATH1 PATH2 ...: 경로에 해당하는 파일/디렉토리들을 지워줌
    • r 옵션: 디렉토리를 삭제할 때는 꼭 r 옵션을 써야 함
    • i 옵션: 복사할 때 각 파일을 정말 지울 것인지 물어봄
    • f 옵션: 지울 것인지 절대 확인하지 않고 바로 지움
profile
아이디어와 구현을 좋아합니다!

0개의 댓글