CLI는 Command Line Interface로, 명령어로 컴퓨터를 제어하는 방식이다.
CLI와는다르게 GUI는 Graphic User Interface로, 바탕화면의 아이콘과 같이 사용자가 이해하기 쉬운 직관적인 그래픽으로 컴퓨터를 제어하는 방식이다.
CLI를 사용하면 적은 리소스로 빠르고 안정적으로 컴퓨터를 제어할 수 있다.
pwd
: 현재 위치를 확인한다. (print working directory)
ls
: 현재 디렉토리의 하위 폴더 또는 파일을 리스트를 확인한다. (list)
cd
: 다른 폴더로 진입한다. (change directory)
open .
: 탐색기로 현재 폴더를 연다.
mkdir
: 새로운 폴더를 생성한다. (make diretory)
touch
: 새로운 파일을 생성한다.
⭐️ 파일은
touch
, 폴더는mkdir
!
cat
: 파일의 내용을 출력한다. (concatenate: 연결시키다)
cat <파일 이름>
mv
: 폴더나 파일의 위치를 변경하거나, 이름을 변경한다. (위치를 옮긴다는 것은 이해를 했는데, 파일이나 폴더명을 변경하는 것은 생소했다. 이름을 옮긴다라고 생각하면 될 것 같다.🧐)
mv <파일 또는 폴더 이름> <도착 폴더 이름>
mv <파일 또는 폴더 이름> <변경할 파일 또는 폴더 이름>
cp
: 폴더의 파일을 복사한다.
cp <원본 파일 또는 폴더 이름> <복사할 파일 또는 폴더 이름>
rm
: 폴더나 파일을 삭제한다.
rm
명령어는 기본적으로 단일 파일을 삭제할 수 있다.
따라서 폴더를 삭제할 때는 r옵션, f옵션
을 붙여준다.
rm -rf <folder_name>
과 같이 사용한다.
CLI로 파일 또는 폴더에 접근할 때 해당 파일 또는 폴더의 위치를 나타내는 경로를 사용한다.
경로를 나타내는 방법은 두 가지가 있는데, 각각 절대 경로와 상대 경로라고 한다.
절대 경로는 최상위 폴더인루트 폴더(/)
에서 목적지까지의 경로를 의미한다.
상대 경로는 현재 위치
를 기준으로 비교하는 경로를 의미한다.
상대 경로에서 현재 위치는 ./
으로 표시한다.
상대 경로에서 상위 폴더는 ../
으로 표시한다.
상대 경로는 아래와 같이 사용할 수 있다.
./../../dir/index.txt
/*
./ 현재 위치를 기준으로
../../ 상위 폴더를 두 번 올라가서
dir/ dir 라는 폴더의 안에
index.txt index.txt라는 파일
*/
Node.js는 자바스크립트 런타임(runtime)으로, 자바스크립트를 구동하는 프로그램이다.
Node.js가 등장하기 전에 자바스크립트의 런타임은 크롬, 사파리와 같은 웹브라우저였다.
Node.js의 등장으로 자바스크립트라는 언어를 서버를 구축하는 등 다방면에서 사용할 수 있게 되었다.
Node.js는 기능 별로 나뉘어 있는 구성 요소인 모듈을 불러와 사용하는 모듈 시스템을 채택하고 있다.
이러한 모듈을 패키지화하고 패키지를 관리하는 도구를 npm이라고 한다.
npm은 Node.js Package Manager로, Node.js의 모듈을 관리하는 도구다.
CLI로 npm을 설치하고 필요한 모듈을 다운로드 받는다.
npm init
명령어를 사용하면 명령어로 생성되는 package.json
파일을 통해 프로젝트에서 필요한 패키지 등을 확인하고 관리할 수 있다.
npm install
명령어를 사용하면 package.json
파일에 명시되어 있는 패키지를 다운로드함으로써 필요한 모듈을 불러와 사용할 수 있게 된다.
⭐️ npm과 package.json의 역할이 정확하게 무엇인지 몰랐는데, 사용하는 목적을 어느 정도 이해했다. 특히 package.json이 일종의 카탈로그 역할을 하여 npm install 명령으로 필요한 패키지를 다운로드 할 수 있게 해준다는 것을 알았다!