터미널은 CLI(Command-Line interface)이다.
pwd(print working directory) : 현재 위치를 확인할 수 있는 명령어
mkdir(make directory) : 새로운 폴더 생성하기
touch : 파일 생성하기
rm : 파일 삭제하기, rm- rf : 폴더 삭제하기
ls(list) : 특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력한다
ls -a(all) : 숨어있는 모든 파일, 폴더 표시
ls -l : 파일, 폴더의 상세한 정보를 표시
cd(change directory) : 폴더에 진입하기
cat : 파일의 내용을 터미널에 출력하기
mv [폴더or파일][도착폴더] : 파일이나 폴더를 옮긴다
cp [원본파일명][복사할파일명] : 파일을 내용을 복사할파일에 붙여넣는다
cp -rf [원본파일명][복사할파일명] : 폴더의 내용을 복사할폴더에 붙여넣는다.
절대 경로는 특정 폴더나 파일이 루트폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타낼 수 있다.
ex) /home/[username]/helloWorld/hello/ -> 여기서 '/'는 루트폴더로 기준점을 나타낸다.
상대 경로는 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타낸다.
현재 위치한 폴더는 점(.)으로 표현하고, 상위 폴더는 두 개의 점(..)으로 표현한다.
sudo: 관리자 권한을 획득하는 명령어
vsc가 있지만 nano 사용법을 익히는 이유는 나중에 학습할 AWS(Amazon Web Service)와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우가 있기 때문이다. 2020년대에도 CLI는 여전히 유용하고, 앞으로도 계속 유용할 것이므로 터미널에서 자유자재로 다룰 수 있는 에디터를 하나쯤을 알고 있어야 한다.
Achievement Goals
- Linux Ubuntu 운영체제에서 사용하는 apt 패키지 매니저에 대해 알고, 명령어를 통해 패키지를 관리할 수 있다.
- apt update: 패키지의 업데이트 여부 확인
- apt list --upgradable: 업데이트 필요한 파일 조회
- apt upgrade: 프로그램 업그레이드
- apt show: 프로그램의 정보 확인
- apt install: 프로그램 설치
- apt list --installed: 설치된 프로그램 목록 보기
- apt remove: 프로그램 삭제
- apt search : 패키지 검색
sudo apt update -> 관리자 업데이트 필요 sudo apt install 패키지이름 apt search 검색어 apt show 패키지이름 apt remove 패키지이름
Achievement Goals
- nvm, Nodejs, npm을 설치하고, 버전을 확인할 수 있다.
- 명령어 node를 이용해 JavaScript 파일을 실행할 수 있다.
- 스프린트 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다.
node.js를 이용하는 이유
- 이전에는 JavaScript 런타임이 웹 브라우저 밖에 없었다. 그러나 node.js라는 새로운 JavaScript 런타임의 등장으로, JavaScript가 브라우저가 아닌곳에서 실행될 수 있게 되었다. node.js의 등장 이후, JavaScript를 이용해서 웹 페이지 뿐만 아니라 서버와 같은 다른 프로그램을 만들 수 있다.
Terminal에서 node.js를 실행하는 방법
node filename.js을 프롬프트에 입력하면 작성한 코드가 node.js라는 런타임에서 실행된다.
작성 후 node filename.js를 실행하면 생성된 내용이 출력된다.
nvm 설치
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash 또는 sudo apt update sudo apt install wget 이후 nvm --version 으로 nvm 버전 확인하기
node.js 설치하기
nvm install --lts node -v
항상 최신버전을 사용하지 않아도 되는 이유
- 개발을 하다 보면 node.js의 다양한 버전에 대응해야 할 경우가 있다. 예를 들면 node 12.18.3 버전에서 짠 코드가 잘 동작하는데, node 14.15.5 버전에서는 에러가 생기는 경우가 있다. 이 경우, 과거에 작성한 코드가 정상적인지 확인하기 위해 node 12.18.3 버전이 필요하다.
nvm 버전 확인
nvm ls nvm install 12.18.3 nvm use 버전넘버
- mkdir : 폴더 생성
- touch : 파일 생성
- rm -rf : 파일 생성
- nano : 텍스트편집기 생성
- cat : 파일 내용읽기
- cp : 파일 복사하기 , pwd(현재위치)를 정확히 파악해야 파일을 복사할 수 있다.
- mv : 파일 옮기기, pwd(현재위치)를 정확히 파악해야 파일을 복사할 수 있다.
- code . : visual studio code를 연다 + 해당 디렉토리에 있는 폴더, 파일을 추가한다.
- '파 일' : 띄어쓰기를 추가해 파일을 생성한다.
- 루트디렉토리 : 가장 최상단에 있는 디렉토리.
- 절대경로 : 중간에 있는 /(슬래쉬)를 쓴다. 처음부터 내 디렉토리까지 알려줌
- 상대경로 : 현 위치를 기준으로 원하는 파일의 위치를 보여준다.
- ./ : 내 현재위치의 아래
- ../ : 내 현재 위치의 상위폴더
- ../../ : 상위폴더의 상위폴더
상대경로를 쓰면 위치를 빠르게 찾을 수 있어 절대경로보다 코드를 줄일 수 있다.- code. nano 를 통해 파일을 수정하면 바로바로 반영됨
- npm : 자바스크립트의 런타임 환경 node.js의 기본 패키지 관리자 (js가 돌아갈 수 있게 해주는 것. 크롬 개발자 도구를 관리하는 도구) #
- nvm(node version manager) : node 들이 update되는 것을 관리하는 매니저.
질문 : 항상 최신버전 쓰면 안되나요?
답변 : 이전버전에서만 돌아가는 프로그램을 사용해야 하는 경우가 있기 때문에
이전버전과 최신버전을 왔다갔다 해야하는 프로그램. 즉 호환성의 문제.- script : CLI에서 사용가능한 명령어들 실행시키기
- dependency : 이 프로젝트가 실행될 때 까지 필요한 모듈들 (npm에서 다운받은 것들)
devDependency : 개발할 때 필요한 모듈들(ex. eslint(코드를 가독성 있게 쓸 수 있도록 만들어 둔 규칙), mocha(test환경에서 필요한 모듈), cha())
testcase : 개발자가 예상하지 못한 경우까지도 테스트하는 것.
vscode에서 터미널 여는 방법
에러는 무엇을 말하고 있나요? range를 찾을 수 없다.
처음 에러가 발생한 파일은 어떤 파일인가요? lorder에 928번째 줄
무슨 파일에서 에러가 발생했는지 알아냈다면, 몇번째 줄인지도 알아낼 수 있을까요? (advanced)
sprint 할 때마다 npm install 해야한다.
npm install 을 하면 package.json에 있는 파일을 다운받을 수 있다.
npm run test/ npm text/
npm install range - range 모듈을 가져오기.
../getList
./getList -> 절대경로보다 상대경로로 쓰는 것이 더 코드를 간결하게 한다.