[TIL] Day8

공부중인 개발자·2021년 4월 14일
0

TIL

목록 보기
7/64
post-thumbnail

What?

Cli / node

CLI

터미널 실행
Ctrl + Alt + T

기본적인 명령어

  • pwd : 현재 위치 확인하기

  • mkdir : 새폴더 만들기

  • ls : 특정 디렉토리의 파일 및 폴더 확인
    ls -l : 폴더나 파일의 포맷을 전부 표현하라는 의미
    ls -a : "all"이라는 의미
    ls -al 또는 ls -la : l과a 동시에 표현하라는 의미

명령어 ls -l을 사용시, 가장 왼쪽에 출력되는 두 글자 d와 -를 확인가능
여기서 d로 출력된 경우는 폴더를, -로 출력된 경우는 파일을 나타냄
폴더는 다음 명령어 cd를 통해 진입할 수 있지만, 파일이라면 진입X

  • cd : 디렉토리를 이동할 때 사용
    cd ###/ : 하위폴더 ###으로 이동
    cd . : 현재 폴더를 의미
    cd .. : 상위 폴더로 이동

  • touch : 새로운 파일을 생성

  • cat : 터미널에서 파일의 내용을 출력

  • rm : 파일이나 폴더 삭제
    rm-rf : 폴더 삭제

  • mv : 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
    mv 파일명 폴더명/ : (같은 디렉토리 안에 존재하는 파일과 폴더) 파일을 폴더 안에 넣기
    mv 파일명1 파일명2 : 파일명1을 파일명2로 바꾸기
    mv 파일명 ../../ : 파일을 상위 상위 폴더로 이동

  • cp 파일명1 파일명2: (폴더나 파일을 복사하기) 파일명1의 내용을 복사하여 파일명2로 붙여넣기
    cp-rf 폴더명1 폴더명2 : 폴더명1안의 파일을 복사하여 폴더명2로 붙여넣기

  • whoami : 사용자 이름을 알려줌

관리자 권한과 경로

절대경로와 상대경로

경로는 명령어 pwd로 확인할 수 있는 절대 경로와, 현재 위치로부터 상대적인 위치를 나타내는 상대 경로로 나뉨
절대 경로는 기준점으로부터의 절대적인 위치를 나타내는데, 이 기준점을 루트폴더(/)라고 함
절대 경로는 특정 폴더나 파일이 루트폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타냄
/home/[username]/helloWorld/hello/ 이런것이 절대 경로
상대 경로는 현재 디렉토리가 기준 만약 현재 커서가 있는곳이 helloWorld 폴더일 경우 ./는 helloWorld(현재폴더) ../[username](상위폴더)를 나타냄

관리자(root) 권한

절대 경로의 기준점인 루트폴더(/)는 Linux의 관리자 영역
일반 사용자의 권한으로는 어떤 폴더나 파일도 생성, 변경, 삭제할 수 없음
Linux 관리자의 가장 큰 특징은, 어떤 일이 있더라도 일반 사용자에게 관리자 권한(루트 권한)을 완전하게 넘기지 않으며, 사용자가 관리자 권한을 필요로하는 경우는 새로운 프로그램을 설치하거나, 프로그램을 변경 또는 삭제하는 경우이기 때문에, 해당 프로그램을 설치, 변경 또는 삭제할 수 있는 관리자 권한만 전달
사용자와 관리자를 명확히 분리하여 사용자의 실수로 발생할 수 있는 시스템 에러로부터 운영체제를 보호

명령어 sudo는 사용자 환경에서, 관리자 권한을 획득하는 명령어

짝수생성기 과제

코드스테이츠 과제 제출 시스템의 사용법을 학습
코드스테이츠 과제 제출 시스템은 CLI 프로그램이면서, 동시에 npm 패키지
따라서 npm 사용법을 알고 있어야 함

npm range 모듈을 이용해 2부터 값까지의 짝수를 배열로 나타낼것

  1. 과제 폴더에서 npm install을 통해 npm의 다양한 모듈을 다운로드 받음(range 미포함)
  2. npm install range를 통해 range 모듈 다운로드
  3. package.json 폴더에 있는 script를 이용하여 테스트
    script 의 "start" 부분에 "node index.js" 를 채워넣어 실행시킴
    npm run test 를 통해 코플릿처럼 테스트를 모두 통과해야함
    npm run submit을 통해 테스트를 모두 통과했다면 제출

getListMultiplesOfTwo 함수 구현
getListMultiplesOfTwo 라는 함수를 만들어 모듈 range를 부여

const { range } = require('range'); // range 모듈을 불러옵니다

function getListMultiplesOfTwo(upTo) {
	let result = { range }.range(2 ,upTo +2,2); // range모듈의 사용법 range.range(a,b,step) a부터 b까지(b미포함) step 만큼 배열
	return result;
}

module.exports = getListMultiplesOfTwo; //모듈을 불러오는 식이라고 예상

함수를 구현한 뒤 npm run test 결과 test 모두 통과

npm run submit 을 통해 과제 제출 완료

마지막으로..

평생을 컴퓨터를 GUI로 써오다가 미지의 영역인 CLI를 접해보니 너무 어렵고 ERR이 나올때마다 당황했다. sudo nodejs의 버전과 nodejs의 버전이 다르기도 하고 nvm을 설치했지만 nvm -v을 터미널에서 입력했을 때 nvm을 찾지 못하기도 했다.
그래도 명령어가 손에 익기시작하자 그렇게 불편한 것은 없었고 얄팍한 코딩사전에서 봤고 계속 써보고 싶었던 Vim을 드디어 실전에서 써봤다는건 기뻤다.

profile
열심히 공부하자

0개의 댓글