TIL 10일차

홍인열·2021년 9월 1일
0

컴퓨터 조작을 위해 필요한 입출력을 I/O(Input/Output)라고 표기, "아이오"라고 읽는다.

  • Input: 컴퓨터에 새로운명령을 전달하는 일을 입력(Input) 이라 한다.
    Input source ex) 키보드, 마우스, 카메라, 마이크 등.
  • Output: 데이터를 사용자가 인식할 수 있도록 하는 일을 출력(Output)이라 한다.
    Output source ex) 모니터, 스피커, IOT 연결기기(전등, 공기청전기등).

CLI

CLI(Command-Line Interface)는 명렁어를 입력해 컴퓨터를 조작하는 방식.
GUI()가 할 수 있는 모든 작업은 CLI로 할 수 있다.

  • CLI명령어

    • mkdir: 새폴더 생성 ;make directories
    • pwd: 현재 작업 폴더 확인 ;print working directory
    • ls: 폴더나 파일목록 출력 ; listls
    • nautilus(Ubuntu), open(macOS):현재 폴더를 파일 탐색기로 연다
    • cd: 해당 폴더에 진입 ; change directory
    • touch: 새로운 파일 생성
      touch hi.text, touch hi 2.txt, touch hi\ 2.txt(이름에 공백삽입시 \이용.
    • cat: 파일의 내용을 터미널에 출력
    • rm: 폴더나 파일 삭제 ;remove
      기본적으로 단일 파일만 삭제가능, 폴더삭제시 옵션r사용 ;recursive, 질문받지않고 지울때 f사용 ;force
    • mv: 폴더나 파일 위치이동, 이름변경
      mv [이동시킬 폴더나 파일이름] [도착 폴더의 이름],
      mv [변경할 폴더나 파일이름] [폴더나 파일의 새이름]
    • cp: 폴더나 파일을 복사하는 명령
      cp [원본 파일 이름] [복사된 파일 이름]
      기본적으로 단일 파일만 복사가능, 폴더복사시 옵션r사용 ;recursive, 질문받지않고 복사시 f사용 ;force
    • sudo: 관리자 권한을 이해할 수 있다.
  • 키워드

    • /: 루트 디렉토리(폴더)
    • ~: 홈 디렉토리(폴더)
  • 경로

    • /: 절대경로 시작은 루트 디렉토리(폴더)
      추가로 whoami라는 명령을 사용할 수 있다
    • ~.: 상대경로의 시작은 현제 디렉토리(폴더)
  • nano: 텍스트 에디터를 이용하여 파일을 수정하고, 저장할 수 있다.

  • 옵션
    : dash(-)을 이용해 CLI에서 특정 명령어의 옵션을 사용할 수 있다. 뒤에 오는 옵션의 순서는 기능에 영향을 미치지 않는다.
    ex) ls -l, ls -a, ls -la, ls -al

clear, cmd + K

json

node.js 설치시 같이 설치되는 npm을 통해 필요한 라이브러리, 모듈등을 손쉽게 설치할 수 있다.

package.json

이 파일 안에는 npm을 통해 설치된 모듈이나, 라이브러리들이 기록된다. 그렇기 때문에 협업이나, commit을 할때 모듈이 설치된 node_modules와 같은 폴더는 전달하지 않아도된다. package.json파일을 통해 필요한 모듈등을 설치할수 있기 때문이다. 이것은 한번의 명령으로 가능하다.
CLI에 npm install 을 입력하면 필요한 모든 모듈등을 한번에 설치하게된다.

devDependencies

개발 의존성 모듈로서 실제 프로젝트 동작에는 직접적인 영향을 주지 않는 모듈들은 명시한다.
모듈설치시 npm install에 옵션 --save-dev 혹은 -D 을 사용하면 자동으로 devDependecies에 추가된다.

dependencies

프로젝트가 동작하기 위해 반드시 필요한 모듈을 기록한다. npm install시 --save를 사용하거나, 옵션을 따로 사용하지 않으도 자동으로 dependencies에 기록된다. 이런 모듈의 예로는 React가 있다.

npm

npm 중 range를 사용해 보았다. 사용법은 굉장히 단순했고, 특정 숫자 범위에서 해당 수의 배수를 나열해준다.

const range = require('range');
console.log(range.range(0, 10, 2));
//=> [0, 2, 4, 6, 8];

---
Linux 관련 기초부터 nvm설치 npm상용 까지 배웠다. 독학할때 경험해본 부분이라 어렵진 않았고 명령어에대해선 좀더 알아갈수 있었다. 어제보다 분명히 아는것이 늘어났다. 오늘남은 지금까지 한내용 다시 읽어보고, 앞으로 할내용들도 한번 읽어보는 시간을 가져야겠다.
profile
함께 일하고싶은 개발자

0개의 댓글