CLI와 Node.js

Yein Moon·2021년 6월 23일
0

개발일지

목록 보기
9/21
post-thumbnail

1. CLI

CLI: Command-line Interface (terminal에서 텍스트로 컴퓨터를 조작하는 방식)

GUI(Graphical Use Interface)에 비해 분명한 장점을 가진다.

  • 클라우딩 컴퓨팅 같이 대량의 서버 컴퓨터가 필요할 때 자원이 적게 든다.
  • 원격 작업 시 웬만한 네트워크 환경에서 안정적으로 작업할 수 있다.

Input Source : 키보드, 마우스, 카메라, 마이크 등 컴퓨터에 입력을 넣는 장치
Output Source: 모니터, 스피커, 하다못해 오케이 구글로 켠 전등까지 Input Source로 작성된 프로그램에 의해 보여지는 것

terminal은 I/O로, 모든 작업을 할 수 있다!


(1) 명령어

pwd 현재 위치(print working directory)
mkdir 폴더 생성
touch 파일 생성
ls 하위 내용(list)
ls -a 숨어있는 폴더를 포함해 모두 출력
ls -l 포맷 전부 표현
ls -la 모든 폴더 및 파일의 포맷을 출력 / 앞자리 d이면 폴더, -이면 파일
cd 위치 이동(change directory)
cat 파일 내용 출력 (파일의 모든 내용을 출력해서, 원격 서버에 접속해 큰 파일을 보려면 비효율적이다. 대안은 다음에 알아보자!)
mv 폴더 및 파일 이름 변경(전 이름 후 이름), 위치 옮기기(이름 변경하려는 위치) (move)
rm 파일 삭제 * CLI에서 삭제된 파일은 휴지통으로 가지 않고 즉시 삭제된다!
rm -rf 폴더 삭제 (r: reclusive, 대상이 폴더일때 / f: force, 질문 받지않고 지운다)
cp 파일 복사
cp -rf 폴더 복사

c.f. prompt 키보드의 입력을 확인하고, 편집할 수 있는 한 줄의 공간
c.f. 폴더나 파일의 공백이나 특수문자가 있으면 백슬래시를 이용해 적용한다.
(ex. hello world -> hello\ world)

(2) 경로

  • 절대 경로: 루트 폴더(/)로부터의 위치
    ~/ /Users/username/ 이라는 뜻(사용자 폴더 경로)

  • 상대 경로: 현재 위치로부터
    . 현재 폴더
    .. 상위 폴더
    ./ 현재 폴더의 내부
    ../상위 폴더의 내부
    ../../ 2단계 상위 폴더

  • sudo: 관리자 권한을 획득하는 명령어

(3) nano

VS code를 터미널로 code filename.js라는 명령을 통해 열 수 있다.
똑같이 터미널 기본 에디터인 nano도 nano filename.js를 통해 실행시킬 수 있다.


2. Node.js

(1) brew

Package Manager
: 여러 프로그램들의 설치, 변경, 삭제를 한데 모아 관리의 편리성을 높여주는 도구

brew help
brew update
brew install 프로그램 이름
brew uninstall 프로그램 이름
brew list

c.f. wget: URL을 통해 파일을 다운로드 받는 프로그램

(2) node.js

Runtime
: 프로그래밍 언어가 구동되는 환경 ex. 웹브라우저

1. nvm(Node Version Manager)

nvm으로 아래 코드들을 통해 쉽게 node의 버전을 관리할 수 있다.
nvm install --lts node 설치, LTS: Long-Term Support
nvm ls 설치된 버전 확인
nvm install xx.xx.x 특정 버전 node 설치
nvm use xx.xx.x 사용중인 version을 변경

2.npm(Node Package Manager)

남이 만들어놓은 모듈, 외부 라이브러리가 모여있는 패키지 매니저
이에 대한 카탈로그(정보)는 package.json에 담는다.

npm install package.json에 작성된 모듈을 다운로드
npm run [script name] package.json에 작성된 스크립트에 해당하는 작업을 실행 ex. npm run start

3. package.json

프로젝트을 실행시키기 위해 필요한 모듈, 실행 방법, 테스트 방법 등을 명시
프로젝트을 만들기 위해 사용한 모듈을 직접 담을 필요없이, 정보만 전달해 사용하고자 한다면 이 정보를 기반으로 다운로드해서 쓰면 되는 것!
(실제 이 모듈들은 디렉토리 내 node_modules 폴더에 저장된다.)

  • devDependencies : 프로젝트 개발 환경을 위한 모듈
  • dependencies : 이 프로젝트가 돌아가기 위해 반드시 필요한 모듈

정리 및 요약

  • MacOS 패키지 매니저인 brew를 깔아서, URL을 통해 파일을 다운 받는 프로그램인 wget을 설치한다.
  • wget을 통해 node.js를 설치하고 버전 관리하는 nvm을 설치한다.
  • 그 nvm을 통해 node 최신 버전을 설치한다.
  • node.js 환경에서는 node 생태계의 패키지 매니저인 npm을 활용한다.
  • 누군가 프로젝트를 만든다면 안내문서인 package.json이 반드시 있고, 거기엔 필요한 모듈들이 적혀있다.
  • npm 명령을 통해 필요한 모듈을 다운받아서 쓸 수 있고, 스크립트에 해당하는 액션을 npm run을 통해 실행할 수 있다.

주말에는 터미널 테마를 바꿔보도록 하자

참고

profile
마스크 벗을 때쯤엔 주니어개발자 될끄니까

0개의 댓글