TIL 8

Churro.·2021년 6월 23일
0
post-thumbnail

Linux 기초

CLI 기본 명령어

Linux 운영체제 환경에서 CLI 이용하는 방법은 개발자가 되기를 원하는 사람이라면, 반드시 학습해야 한다 ❗️

GUI가 PC(Personal Computer, 개인 컴퓨터)시장을 지배하게 되었지만, CLI는 여전히 여러가지 측면에서 유리합니다. 대표적으로 아마존 웹 서비스(AWS, Amazon Web Service)의 클라우드 컴퓨팅처럼, 대량의 서버 컴퓨터를 설치해야 하는 서비스를 잠시 살펴보겠습니다. AWS는 4천 평이 넘는 규모의 데이터센터를 29개 이상 가지고 있고, 계속해서 확장하고 있습니다. 하나의 데이터 센터에는 최소 5만개 이상의 서버 컴퓨터가 설치됩니다. 이렇게 수많은 컴퓨터에 GUI를 적용하기 위해 서버 컴퓨터마다 I/O 소스(키보드, 마우스, 모니터 등)를 부착하는 일은 불가능에 가깝습니다.

AWS 이전부터 서버 컴퓨터를 대여하는 일은 존재했습니다. AWS 이전 세대의 선배 개발자들은 GUI가 없는 서버 컴퓨터를 어떻게 다룰 수 있었을까요? CLI를 이용해 서버 컴퓨터로 접속을 요청하면, 서버 컴퓨터는 요청한 컴퓨터의 출력소스(모니터)를 이용합니다. 선배 개발자들은 서버 컴퓨터에 직접 찾아갈 필요없이, 자신의 모니터로 서버 컴퓨터와 소통했습니다. 이 방법은 매우 효율적이어서, 지금도 수많은 현직 개발자가 이 방법을 통해 서버 컴퓨터와 소통합니다.

▶️ 요약 : 마우스로 클릭하지 않고 터미널 이용해 컴퓨터 사용법 위해 CLI 기본 명령어 숙지 필수 !

  • GUI (graphical user interface) :

    사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 작업 환경을 말한다. GUI에서는 마우스 등을 이용하여 화면의 메뉴 중에서 하나를 선택하여 작업을 지시한다.

    GUI는 도스 (DOS)의 명령어 인터페이스와는 대조적이다. GUI의 요소를 살펴보면 윈도(Windows), 스크롤바, 아이콘 이미지, 단추들을 포함한다. 1980년대 후반부터 IBM PC 및 워크스테이션에서도 GUI가 보급되어 현재의 컴퓨터는 GUI를 사용하고 있다. 마이크로소프트사의 윈도, 애플 매킨토시의 GUI가 그 예이다.

  • CLI (Command-Line Interface)

  • 컴퓨터를 조작하기 위한 Input 입력, Output 출력 ⇒ I/O ('아이오')

  • pwd(print working directory): 현재 위치를 확인하는 명령어

  • mkdir: 새로운 폴더를 생성하는 명령어 (mkdir 폴더이름)

  • touch: 새로운 파일을 생성하는 명령어 (touch 파일이름)

  • ls(list): 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력하는 명령어

  • open : 현재 폴더를 파일 탐색기로 여는 명령어

  • cd: 폴더에 진입하는 명령어

  • cat: 파일의 내용을 터미널에 출력하는 명령어 (파일의 내용을 볼 수 있음)

  • rm: 폴더나 파일을 삭제하는 명령어

  • mv: 폴더나 파일의 위치를 이동하거나, 이름을 변경하는 명령어

    ▶️ ( mv [폴더/파일 이름][도착 폴더 이름] )

  • cp: 폴더나 파일을 복사하는 명령어

  • sudo: 사용자 환경에서, 관리자 권한을 일시적으로 획득하는 명령어

    • /: 루트 디렉토리

    • ~: 홈 디렉토리

      경로에 입력하는 슬래시(/)는 폴더를 의미. 폴더를 대상으로 할 때에는 마지막 슬래시 생략할 수 있음.

  • 절대 경로와 상대 경로

     🚨  절대 경로   ~/

     🚨 상대 경로   ./   혹은   cd

Node.js

📌 Javascript Runtime

▶️ ex) 크롬, 사파리 같은 웹 브라우저

런타임 이란 어떤 프로그램이 동작할 때, 프로그램이 동작하는 곳. JavaScript를 이용해서 코드를 적으면 코드가 실행되는데, 이 실행되는 곳이 바로 런타임이다.

📌 nvm

NVM (Node Version Manager)

nvm으로 node의 버전을 관리하면, node를 설치하고 version을 바꾸는 일이 편리함

▶️ 정리하면 nvm다양한 node version를 설치하고 관리할 수 있는 프로그램

📌 npm과 package.json 이란 ?

  • npm (node package manager) : 일종의 앱스토어. node.js 환경에서 외부 라이브러리를 다운받기 위해 다양한 방법이 존재하지만, 대표적인 게 npm. 모듈들이 모여있는 모듈 앱스토어.

    macOS의 패키지 매니저가 brew이듯, node.js 생태계의 패키지 매니저는 npm이다.

  • package.json : 남이 만들어놓은 모듈을 node.js에서는 npm모듈이라 부르며, 이에 대한 정보를 담아둔 곳이 package.json이다.

profile
I, sum of records.

0개의 댓글