-
terminal / nano editor / nvm / npm / package.jsonFRONTEND/Node.js 2022. 7. 18. 11:41
CLI (Command-Line Interface)
커맨드 라인 인터페이스 (명령어 인터페이스는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식
GUI (graphical user interface)
입출력 등의 기능을 알기 쉬운 아이콘 등의 그래픽을 통해 사용자와 소통하는 방식
터미널 기초 사용법
pwd : 현재 위치 확인하기
mkdir : 새로운 폴더 생성하기ls : 특정 폴더에 포함된 파일이나 폴더 확인하기 (list)
ls -l : 폴더나 파일의 포맷을 전부 표현
ls -a : 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls -al (ls -la)cd : 폴더에 진입하기
Touch 파일명.확장자 : 파일 생성하기
nano 파일명.확장자 : 나노 에디터로 파일 열기
cat 파일명.확장자 파일 내용 보기
node 파일명.확장자 node.js로 파일 실행rm 파일명.확장자 : 파일 삭제
rm -rf 폴더명.확장자 : 폴더 삭제- rm으로 삭제한 폴더나 파일은 휴지통을 거치지 않고 삭제됨
(r : recursive 폴더를 지울 때 사용 / f : force 질문을 받지 않고 지울 때 사용)
cp 원본파일(폴더)명.확장자 사본파일(폴더)명.확장자 : 파일이나 폴더 복사 (copy)
mv 폴더명.확장자 폴더명.확장자 : 폴더명 변경
mv 원본파일명.확장자 바꿀파일명.확장자 : 파일명 변경
mv 파일명.확장자 폴더명.확장자 : 파일의 위치를 이동sudo : 관리자 권한을 획득하는 명령어
사용자는 주어진 권한만 사용할 수 있음 (보안 상)
프로그램 설치/변경/삭제에 필요한 관리자 권한을 일시적으로 획득하기 위해 사용절대 경로 & 상대 경로
~/ : ~는 루트폴더(/)로부터 사용자 폴더(username)까지의 경로를 축약한 것.
.. : 상위 폴더
. : 현재 폴더nano editor
nano 열려고하는파일명.확장자
nano만 쳐서도 들어갈 수 있으나 보통 이렇게 여는 경우가 많음ctrl + x : 저장 후 종료
ctrl + k : 줄 삭제
ctrl + u : 붙여넣기
ctrl + O : 저장
ctrl + R : 파일 열기Node.js
Node.js : JavaScript 런타임중 하나.
- 런타임 : 프로그래밍 언어가 구동되는 환경
크롬, 사파리와 같은 웹 브라우저가 대표적인 JavaScript 런타임
nvm (Node Version Manager)
Node.js의 다양한 버전을 관리하는 프로그램
nvm ls 라고 치면 Node.js version이 쫙 뜸.
nvm use 버전 넘버 치면 해당 버전으로 사용 가능.
(예를 들어, nvm use 12.18.3, nvm use 14.15.5)- 필요성 : 개발을 하다 보면 Node.js의 다양한 버전에 대응해야 할 경우가 있음.
ex) node 12.18.3 버전에서 짠 코드가 잘 동작하는데
Node.js 14.15.5 버전에서는 에러 발생
과거에 작성한 코드 정상적인지 확인 위해 Node.js 12.18.3 버전 필요
package.json
npm 모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일
프로젝트 전반에 관한 정보 - 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등 명시.이 프로그램을 실행시키기 위해 필요한 실제 모듈은 따로 node_modules이라는 폴더에 저장되고 package.json에는 어떤 모듈인지만 적혀 있음.
npm (Node Package Manager)
일종의 앱스토어처럼 모듈들이 모여 있어 필요한 모듈을 다운로드할 수 있는 곳.
(macOS의 패키지 매니저가 brew인 것 처럼) - rm으로 삭제한 폴더나 파일은 휴지통을 거치지 않고 삭제됨