Unit7. [Linux/git 기초]

2022. 12. 28. 20:19코드스테이츠/코드스테이츠 : 위클리 회고

성취도 

 

이해도 자가 점검 리스트

Chapter1. Command-Line Interface

  • 리눅스 터미널을 실행할 수 있다.
  • CLI를 이용한 작업과 GUI를 이용한 작업이 동일함을 이해할 수 있다.
  • 리눅스 터미널에서 기본적인 명령어를 사용할 수 있다.
  • 명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다.
  • 관리자 권한을 이해할 수 있다. //관리자 권한을 받아오는 것  => sudo
  • 절대 경로와 상대 경로의 차이를 이해할 수 있다. // ../상위폴더로 이동 ./하위폴더로 이동 
  • 텍스트 에디터 nano를 이용해 파일을 수정하고, 저장할 수 있다.

Chapter2. 패키지와 패키지매니저

  • 패키지와 패키지 매니저 필요성을 이해할 수 있다.
  • 각 운영체제에 맞는 패키지 매니저를 사용할 수 있다.

Chapter3. node.js

  • nvm, Node.js, npm을 설치하고, 버전을 확인할 수 있다.
  • 명령어 node를 이용해 JavaScript 파일을 실행할 수 있다.
  • 과제 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다. // package.json에는 프로젝트 전반에 필요한 정보들이 담겨있다. 필요한 모듈은 npm instal로 받아온다.l

Chapter4. Git

  • Git의 환경설정을 할 수 있다.
  • 버전 관리 시스템의 필요성을 이해할 수 있다.
  • Github과 Git의 관계에 대해 이해할 수 있다.
  • local repository와 remote repository의 차이를 이해할 수 있다.
  •  

Linux 명령어

touch: 파일생성하기
cat : 파일의 내용을 터미널에 출력하기 
rm : 파일 삭제하기
mv : 파일 이름변경 및 파일이동 (GUI환경에서는 드로그 앤 드롭 방식이라고 이해하면 편함) 
ex. mv hi.txt by/ => hi.txt를 by폴더로 옮겨라 or mv hi.txt helloworld.txt => hi.txt를 helloworld.txt로 이름을 변경해라
cp : 폴더나 파일을 복사하기
rf : 묻지않고 그냥 바로실행해버려
상위폴더의 절대경로 : ~/상위폴더이름/
상위폴더의 상대경로 : ../
형제폴더? 같은 상위폴더를 가진 폴더로 이동 : ~/
sudo : 사용자가 관리자의 권한을 획들하는 명령어

추후에 vim 기본 명령어는 알아두면 좋다.

패키지 목록 갱신: apt update(관리자 권한 필요)
패키지를 다운로드할 수 있는 여러 저장소의 최신 정보를 업데이트합니다. 새로운 저장소를 추가하거나, 패키지를 설치하기 전, 최신 정보를 갱신합니다.
설치된 프로그램이 새로운 버전으로 변경되지 않습니다.
업그레이드 가능한 패키지 목록을 출력: apt list -—upgradable
전체 패키지 업그레이드(버전 업): apt upgrade (관리자 권한 필요)
특정 패키지만 업그레이드(버전 업): apt --only-upgrade install 패키지 이름 (관리자 권한 필요)
패키지 설치: apt install 패키지 이름 (관리자 권한 필요)
설치된 패키지 보기: apt list --installed
패키지 검색: apt search 검색어
패키지 정보 확인: apt show 패키지 이름
패키지 삭제: apt remove 패키지 이름(관리자 권한 필요

-----------------------------------------------------------------------
wget : url로 다운로드 받아주는 프로그램
nvm(node version Manager) : node.js 다양한 버전을 다운받는 프로그램 ex. nvm install 노드.js 버전 lts
nano : 리눅스 환경에서의 IDE (CLI IDE라 그런가 외형 개꾸짐) 
node.js : 리눅스환경에서도 JS사용가능 ex. node helloWorld.js  => 헬로월드.js안에 함수실행
npm init : 패키지.json. 파일을 생성하기위한 명령어
npm init -y: 기본값 세팅 과정 생략
npm : 남이 만들어 놓은 모듈 / node.js 의 라이브러리를 다운받은 일종의 모듈스토어
package.json : npm의 대한 정보를 담아 둔 곳. 즉, 프로젝트 전반에 관한 정보가 들어있다. ex. 전자제품 매장의 카탈로그 (협업에 중요하다)
node_modules: 프로그램을 실행시키기 위한 실제 모듈
devDependencies: 이 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지가 적혀 있습니다. 예를 들면 코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시합니다.devDependencies { "devDependencies" : { "@mochajs/json-file-reporter" : "^1.2.1" , "chai" : "^4.2.0" , "mocha" : "^8.2.0" , "sinon" : "^9.0.3" } } 프로그램 실행과 관계없는 오로지 개발을 위해 필요한 dependency (의존성 모듈)
dependencies : devDependencies와는 다르게 이프로젝트가 돌아가기 위해 반드시 필요한 모듈들이 무엇인지 적혀있습니다.
npm install : package.json에서 필요하다고 하는 모듈을 다운로드한다.
npm install --save-dev: devDependencies를 추가하여 다운로드
npm install --save: 자동으로 dependencies에 추가됨


 

 

Unit7 소감

학교에서 의미도 모르고 따라치기 바빳던 Linux 환경에서의 프로그래밍의 전반적인 명령어나 기능들을 사용 할 수 있어서 좋았다. 예전엔 그저 따라치기만 했던 명령어들이 어떤 의미인지 알게됐고, 어떤 목적으로 사용하는지 알게되어 좀 더 이해가 쉽게 되었다. Linux에 대해 깊이 배우지는 않았지만 기본적인 Linux/CLI 환경에서 사용방법을 알게된 것 같다.