All'alba vincerò

At dawn, I will win!

Git

CLI (Command Line Interface, 명령줄 인터페이스)

나디아 Nadia 2024. 4. 23. 23:44

 
 
 

📌 CLI (Command Line Interface, 명령줄 인터페이스)

: 디렉토리 생성 및 이동, 복사, 이름 변경, 삭제 등을 미리 약속된 명령어를 사용하여 실행하는 환경

  • 운영체제는 기본적으로 CLI를 제공하며 Windows는 CMD(Command Prompt), Mac OS는 Terminal을 사용한다.
  • Windows의 CMD와 Mac OS의 Terminal에서 지원하는 CLI 명령어가 다르다.

 

 

📍 GUI (Graphic User Interface, 그래픽 인터페이스)

: 그래픽을 통해 사용자와 컴퓨터가 상호작용하는 방식


🔺 경로

1. 루트 디렉토리 (Root Directory)
: 모든 파일과 폴더를 담고 있는 최상위 폴더

  • Windows는 보통 C 드라이브를 의미

 
2. 홈 디렉토리 (Home Directory, Tilde(틸드))
: 현재 로그인 된 사용자의 홈 폴더 

  • Windows는 C:/사용자(Users)/현재 사용자 계정을 의미

 
 
(1) 절대 경로
: 루트 디렉토리 ~ 목적 지점까지 거치는 모든 경로를 전부 작성한 것

  • Windows 바탕 화면의 절대 경로: C:/Users/kyle/Desktop

 
(2) 상대 경로
: 현재 작업하고 있는 디렉토리를 기준으로 계산된 상대적 위치를 작성한 것

  • ./ : 현재 작업 폴더
  • ../ : 현재 작업 폴더의 부모 폴더

 
 


 
 

📌 CLI 주요 명령어

  • code . : vscode 실행
  • ctrl + c / Q : 벗어나기
  • > : 기존 내용을 덮어씀
  • >> : 기존 내용에 추가됨
  • 문장 안에 공백이 있다면 따옴표('') or 쌍따옴표("")로 묶어야 한다.

 
 

0. 내가 누구인지 확인

whoami




1. 현재 작업 중인 폴더 확인

pwd

pwd : print working directory
- 현재 작업 중인 폴더의 절대 경로가 출력
 
 
 

2. 폴더 생성

`mkdir` : Make Directory
`mkdir 파일명`

mkdir Frontend
: 현재 폴더에 `Frontend` 폴더 생성

mkdir views js css assets
: 한 번에 폴더 4개 생성

mkdir learn-cli learn-cli/js learn-cli/styles
: learn-cli 폴더와 그 하위 폴더인 js, styles 폴더를 한 번에 생성

 
 
 

3. 디렉토리 이동

`cd` : change Directory
`cd 파일명`

  • cd : 루트 디렉토리로 이동
  • cd . : 현재 디렉토리 (생략 가능)
  • cd .. : 상위 경로로 한 단계 이동
  • cd ../.. : 상위 경로로 두 단계 이동
  • cd ~/Desktop : 데스크탑 디렉토리로 바로 이동
  • cd ../../home/learn-remote : 현재 위치 한 번에 변경

 
 

4. 디렉토리 및 파일 목록 출력

`ls` : 만들어진 리스트(폴더/파일) 확인 (List Segments)
`ls {옵션} 파일명`

- `ls ~/Frontend/assets` 
: `Frontend/assets` 폴더의 하위 폴더 목록 출력

- `ls -l 파일명` 
: 폴더 목록 + 사용 권한, 소유자, 그룹, 크기, 날짜 등 상세 정보를 함께 표시

- `ls -a 파일명` 
: 폴더 목록 + 숨겨진 항목을 포함하여 모든 내용을 출력

- `ls -al 파일명` 
: 폴더 목록 + 숨겨진 항목을 포함하여 사용 권한, 소유자, 그룹, 크기, 날짜 등 상세 정보를 함께 표시




5. 파일 생성

`touch` : 빈 파일을 생성할 경우

touch index.html

touch learn-cli/index.html learn-cli/images/logo.svg learn-cli/js/main.js learn-cli/styles/input.css
=> 각 폴더에 파일을 한 번에 생성


`echo` : 간단한 내용이 들어있는 파일을 생성할 경우

echo 'let me = "Frontend Developer"' > js/index.js
=> js 폴더안에  `let me = "Frontend Developer"` 라는 코드가 삽입된  `index.js`파일 생성

echo 'FE 개발자' > js/index.js
=> index.js 파일의 기존 코드가 덮어쓰기 됨

echo 'let me = "Frontend Developer"' >> js/index.js
=> 위의 'FE 개발자' 코드 아래에 추가됨




6. 파일 내용 확인하기

`cat` : 파일 내용 확인하기
`cat 폴더/파일명`

cat js/index.js
: `index.js`파일의 내용을 화면에 출력

cat index.js app.js
: `index.js`파일의 내용으로  `app.js`파일 내용 덮어쓰기

 
 
 

7. 폴더 & (비어있지 않은)디렉토리 삭제

`rm` : Remove 
`rm 제거할 파일/디렉토리`

`rm index.html` 
: `index.html` 파일 삭제

`rm -r 폴더` 
: 폴더 내부 하위 디렉토리까지 모두 삭제

`rm -rf 폴더` 
: 폴더 안의 하위 디렉토리까지 모두 삭제 (-r보다 더 강력함)

 
 
 

8. 빈 디렉토리 제거

`rmdir` : Remove Directory
`rmdir 제거할 디렉토리`

rmdir js
: `js` 폴더 삭제

 
 
 

9. 파일/디렉토리 이동 & 이름 변경

`mv` : Move
- 이미 존재하는 파일 & 디렉토리의 경우 이름 변경이 가능 ⭕
- 이동은 GUI가 편함

mv index.html views/index.html
: `index.html` 파일을 `views`폴더로 이동

mv js/index.js js/app.js
:`js` 폴더에 있는 `index.js` 파일명을 `app.js`로 변경

 
 
 

10. 파일/디렉토리 복사

`cp` : Copy
`cp 복사할원본파일 새로복사할파일명`

cp index.html main.html
:`index.html`파일을 동일한 폴더에 복사한 후 파일명을 `main.html` 로 변경

cp index.html views/main.html
`index.html`파일을 `views` 폴더에 복사한 후 파일명을  `main.html` 로 변경

 
 
 

11. 지금까지 입력했던 CLI 명령어를 조회

`history`

history

 
 
 


 

참고
 

 

CLI

CLI git 설치는 해당 링크를 참고해 주세요! : https://lime-jelly.tistory.com/11 1. CLI 란? Command Line Interface의 약자로, 터미널을 통해 사용자와 컴퓨터가 상호작용하는 방식 2. GUI 란? Graphic User Interface의 약

lime-jelly.tistory.com