TIL 8일차 CLI / Node.js

shleecloud·2021년 7월 28일
0

Codestates

목록 보기
8/95

시작

내가 제일 잘 아는 분야가 나왔다. 리눅스. 밥먹고 이거만 하다보니까 쉬운 부분이라 오늘은 긴장감이 많이 떨어졌다. 손목 때문에 에어컨을 꺼놔서 기운도 없었고. 그동안 너무 긴장한 것 같아서 편안하게 진행했고 동시에 좋은 페어분을 만나서 즐겁게 진행했다.

CLI 기본 명령어

  • 리눅스 터미널을 실행할 수 있다.
  • CLI를 이용한 작업과 GUI를 이용한 작업이 동일함을 이해할 수 있다.
    • GUI의 변경사항을 CLI로 확인할 수 있다.
    • CLI의 변경사항을 GUI로 확인할 수 있다.
  • 리눅스 터미널에서 기본적인 명령어를 사용할 수 있다.
    • pwd: 현재 위치를 확인하는 명령어
    • mkdir: 새로운 폴더를 생성하는 명령어
    • ls: 폴더나 파일의 목록을 출력하는 명령어
    • nautilus (Ubuntu), open (macOS): 현재 폴더를 파일 탐색기로 여는 명령어
    • cd: 폴더에 진입하는 명령어
    • touch: 새로운 파일을 생성하는 명령어
    • cat: 파일의 내용을 터미널에 출력하는 명령어
    • rm: 폴더나 파일을 삭제하는 명령어
    • mv: 폴더나 파일의 위치를 이동하거나, 이름을 변경하는 명령어
    • cp: 폴더나 파일을 복사하는 명령어
    • sudo: 관리자 권한을 이해할 수 있다.
  • 명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다.
    • /: 루트 디렉토리
    • ~: 홈 디렉토리
  • 절대 경로와 상대 경로의 차이를 이해할 수 있다.
    • 절대 경로의 시작이 루트 디렉토리(/)인 것을 이해할 수 있다.
    • 상대 경로의 시작이 현재 디렉토리(.)인 것을 이해할 수 있다.
  • 텍스트 에디터 nano를 이용해 파일을 수정하고, 저장할 수 있다.

너무 잘 아는 내용이라 할 말이 없다. nano라는 에디터가 있는건 처음 알았다.

패키지와 패키지 매니저

  • 패키지와 패키지 매니저 필요성을 이해할 수 있다.
  • 각 운영체제에 맞는 패키지 매니저를 사용할 수 있다.
    • MacOS 운영체제에서 터미널을 통해 Homebrew 패키지 매니저를 설치하고 패키지를 관리하는 명령어를 사용할 수 있다.
      • brew update: 패키지의 업데이트 여부 확인
      • brew outdated: 업데이트 필요한 파일 조회
      • brew upgrade: 프로그램 업그레이드
      • brew info: 프로그램의 정보 확인
      • brew install: 프로그램 설치
      • brew list: 설치된 프로그램 목록 보기
      • brew uninstall: 프로그램 삭제
    • Linux Ubuntu 운영체제에서 사용하는 apt 패키지 매니저에 대해 알고, 명령어를 통해 패키지를 관리할 수 있다.
      • apt update: 패키지의 업데이트 여부 확인
      • apt list --upgradable: 업데이트 필요한 파일 조회
      • apt upgrade: 프로그램 업그레이드
      • apt show: 프로그램의 정보 확인
      • apt install: 프로그램 설치
      • apt list --installed: 설치된 프로그램 목록 보기
      • apt remove: 프로그램 삭제
      • apt search : 패키지 검색

brew도 맥북을 좋아하는 사람이라면 패키지를 설치한다고 자주 써봤을태고 어려운 내용은 아니었다. 요즘은 이런 패키지 관리하는 어플리케이션이 정말 잘나온다.

Node.JS

  • nvm, Nodejs, npm을 설치하고, 버전을 확인할 수 있다.
  • 명령어 node를 이용해 JavaScript 파일을 실행할 수 있다.
  • 스프린트 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다.

특히 Node.JS의 버전 관리 시스템은 명쾌하고 깔끔해서 아주 마음에 든다. 이렇게 관리하면 패키지 버전 꼬일 일도 거의 없겠지. 흥미로운 부분이라서 따로 공부하고 싶다.

npm run submit 
npx codestates-submission
npx codestates-submission ls

과제 제출을 단순하게 할 수 있게 구현한 부분은 아주 참신하다고 생각한다. 이런 소소한게 삶의 질을 올려주는게 아닐까?

npx & npm run

npx는 npm 패키지를 간편하게 실행할 수 있게 만들어주는 툴이다. npm 5.2 버전부터 탑재된 도구다. npx는 만약 설치되지 않은 패키지를 실행시킬 경우 알아서 설치하고 실행까지 해주는 툴이다. 그래서 npm의 편의성을 증대시키는 기능이 많다.
npm은 패키지를 실행시키려면 package.json 파일에 scripts 섹션에 적어두거나 직접 경로를 써야한다.
하지만 npx는 npx <package-name> 으로 실행할 수 있다.
힙한 기능이 많은데 npx --no-install 옵션은 설치를 하지 않고 실행만 할 수 있다. 와우! 😍

~/Codestates/im-sprint-cli-practice-master # npm run   
Lifecycle scripts included in cli-practice@1.0.0:
  start
    node index.js
  test
    mocha getListMultiplesOfTwo.test.js

available via `npm run-script`:
  report
    mocha getListMultiplesOfTwo.test.js --sort --reporter @mochajs/json-file-reporter
  submit
    codestates-submission
profile
블로그 옮겼습니다. https://shlee.cloud

0개의 댓글