개발일기/Git

CLI 기초 명령어 배우기

DongKeun2 2022. 1. 12. 17:19

CLI 기초 명령어

절대 경로와 상대 경로

  1. 절대 경로 : 루트 디렉토리*로부터 목적 지점까지 거치는 모든 경로를 전부 작성한 것
    • 루트 디렉토리
      • 모든 파일과 폴더를 담고 있는 최상위 폴더입니다.
      • windows의 경우 C 드라이브를 의미합니다.
    • 예시
      C:/users/사용자_계정/Desktop
  2. 상대 경로 : 현재 작업하고 있는 디렉토리(폴더)를 기준으로 계산된 상대적 위치
    • 만약 현재 작업하고 있는 디렉토리가 C:/users라고 한다면
    • 윈도우 바탕화면으로의 상대 경로는 폴더명/Desktop이 됩니다.
    • ./:현재 작업하고 있는 폴더를 의미합니다.
    • ../현재 작업하고 있는 폴더의 부모 (또는 상위) 폴더를 의미합니다.

터미널 기초 명령어

  • pwd
    • 현재 있는 디렉토리의 위치를 절대 경로로 표시하는 명령어
  • touch
    • 파일을 생성하는 명령어
    • 띄어쓰기로 구분하여 여러 파일을 한꺼번에 생성 가능합니다.
    • 숨긴 파일을 만들 때는 파일명 앞에 .을 붙입니다.
  • mkdir
    • 새 폴더를 생성하는 명령어
    • 띄어쓰기로 구분하여 여러 폴더를 한꺼번에 생성 가능합니다.
    • 폴더 이름 사이에 공백을 넣고 싶다면 따옴표로 묶어서 가능합니다. 하지만 보통 공백 대신에 _을 이용합니다.
    $ mkdir 폴더명
    $ mkdir `directory example' 
    $ mkdir directory_example
  • ls
    • 현재 작업 중인 디렉토리의 파일 목록을 보여주는 명령어
    • -a : 숨김 파일까지 모두 보여줍니다.
    • -l : 해당 파일의 상세한 정보(파일의 용량, 수정 날짜 등)를 보여줍니다.
  • mv
    • 폴더/파일을 다른 폴더로 옮기거나 이름을 변경하는 명령어
    • 해당 폴더가 있으면 이동을 하고, 없으면 이름이 변경됩니다.
    • $ mv 옮기고_싶은_파일명 목적지_폴더명 [이름 변경의 경우] $ mv 기존_파일명 새로운_파일명
  • rm
    • 폴더/파일을 지우는 명령어
    • GUI에서의 삭제와 달리 휴지통으로 가지 않고 바로 완전 삭제 됩니다.
    • -r : 폴더를 지울 때 사용합니다. 또는 rmdir을 사용합니다.
      $ rm 파일명
      $ rm -r 폴더명
      $ rmdir 폴더명
  • cd
    • 현재 작업중인 경로를 변경하는 명령어
    • cd ~ 를 입력하면 홈 디렉토리로 이동합니다.
    • cd .. 를 입력하면 부모 디렉토리로 이동합니다.
    • cd - 를 입력하면 직전의 디렉토리로 이동합니다.
  • clear
    • 터미널 화면을 깨끗히 지우는 명령어
  • start(windows)
    • 특정 위치의 폴더를 GUI 형태로 여는 명령어
    • start.을 입력하면 현재 위치에서 폴더가 GUI형태로 열립니다.
  • open(mac)
    • 특정 위치의 폴더를 GUI 형태로 여는 명령어
    • open.을 입력하면 현재 위치에서 폴더가 GUI 형태로 열립니다.

유용한 단축키

  • 위, 아래 방향키 : 커맨드 히스토리를 추적하여 이전에 입력했던 명령어를 조회합니다.
  • tab: 폴더/파일명을 자동으로 완성해주는 단축키입니다.

느낀점

이번 공부를 통해 GUI와 CLI의 차이점을 알게 되었습니다. 보이는 게 전부인 줄 알았던 저를 반성합니다...😅
이 외에도 알아야 할 명령어가 산더미처럼 많다는 게 걱정입니다. 하지만 열심히 해봐야죠 😅
일단은 항상 작업 전에 경로확인과 ls 명령어를 통해서 디렉토리 상태를 체크하는 습관을 들여야겠습니다.
알게 된 내용 중 가장 유용했던 것은 tap이라고 생각이 듭니다! 파일명이 길어질 때마다 이 단축키가 얼마나 고맙던지ㅎㅎ
다음에는 다른 유용한 명령어&단축어를 공부하고 오겠습니다!

매일 남기는 말

배워가는 단계에 있는 새싹 개발자입니다. 오탈자나 틀린 정보가 있다면 알려주시면 감사하겠습니다. 행복한 하루 되세요🐹