[Linux] 기초 | CLI, 패키지, Node.js

Eunji Lee·2022년 11월 12일
0

[TIL] Front-end

목록 보기
1/36
post-thumbnail

오늘 느낀 점

  • 학습 자료를 꼼꼼하게 읽자 → 학습 자료에 답이 있는 경우 많음
  • 처음 해본다고 쫄지말고 일단 해보자 → 생각보다 쉬운 문제 많음



Chapter1. CLI(Command-Line Interface)

  • CLI(Command-Line Interface) : 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식
    • cf) GUI(Graphical User Interface): 그래픽(아이콘 등)을 통해 사용자와 컴퓨터가 상호 작용하는 방식
    • GUI와 CLI는 사용자와 소통하는 방식에만 차이가 있기 때문에 변경사항이 있을 때에는 두 인터페이스에 모두 반영됨
  • CLI 사용의 필요성
    대량의 서버 컴퓨터를 설치해야하는 경우
    → 일일이 I/O 소스 (input & output 장치: 마우스, 모니터 등)를 설치 할 수 없음
    → CLI를 통해 서버 컴퓨터에 직접 작업을 요청하고, 나의 컴퓨터 출력 소스(모니터)에 출력

1-1. CLI 명령어 - 폴더 및 파일의 위치

  • 터미널: 일종의 CLI
    • 프롬프트(Prompt): CLI의 명령줄 대기모드로, 터미널 화면에서 글자가 입력되는 한 줄의 공간을 의미

현재 위치 확인하기

pwd (print working directory): 현재 위치한 폴더(directory) 주소 나타내기

특정 폴더에 포함된 파일/폴더 확인하기

  • ls : 특정 폴더에 포함된 파일 또는 폴더 확인하기
    • ls -l : 폴더나 파일의 포맷을 전부 표현하기
      • 하나의 파일 또는 하나의 폴더는 한 줄로 출력
        • d로 시작하면 → 폴더
        • -로 시작하면 → 파일
    • ls -a : 숨어있는 폴더 또는 파일을 포함한 모든 항목 출력하기
    • ls -al 또는 ls -la: 옵션(-) 옵션의 기능은 뒤에 오는 옵션 순서와 상관없음

파일의 모든 내용 터미널에 출력하기

cat 파일이름.확장자

폴더에 진입하기

cd 폴더이름 (change directory) : 프롬프트로 상호작용하는 폴더를 다른 폴더로 바꾸기 → 폴더에 들어가기

현재 위치를 GUI로 실행하기

open

새폴더 만들기

mkdir 폴더이름 (make directories)

새파일 만들기

touch 파일이름.확장자 : 파일 생성하기 (반드시 확장자도 함께 써주기!)

파일 삭제하기

  • rm 파일이름.확장자 : remove - 파일 삭제하기
    • 휴지통을 거치지 않고 바로 삭제됨
    • 단일 파일만 삭제 가능
    • cf. rm -rf 폴더이름: 폴더 삭제하기
      • r - recursive (폴더 삭제) f - force (질문을 받지 않음)

폴더나 파일 위치 옮기기/이름 바꾸기

  • mv [폴더나 파일의 이름] [도착 폴더의 이름] : 폴더나 파일의 위치 옮기기
    • ex) mv bye.txt bye/ → bye.text를 bye 폴더로 옮기기
  • cf) mv [폴더나 파일의 이름] [변경하고자 하는 폴더나 파일의 이름] : 폴더나 파일의 이름 바꾸기
  • 파일은 파일명 뒤에 확장자까지 써주기!

파일/폴더 복사하기

  • cp [원본 파일 이름.확장자] [복사할 파일 이름.확장자] : 파일 복사하기
  • cf) cp -rf [원본 폴더 이름] [복사할 폴더 이름] : 폴더 복사하기

도움말

명령어 이름 -h 또는 명령어 이름 —help : 각 명령어에 포함된 옵션 확인하기

1-2. 관리자 권한과 경로

사용자와 관리자

  • 사용자 : 프로그램 실행 가능 → 프로그램 변경 할 수 없음
  • 관리자 : 프로그램 설치, 변경, 삭제 가능

관리자(root) 권한

  • whoami : 현재 로그인된 사용자 확인하기
  • sudo CLI 명령어 : 관리자 권한 일시적으로 획득하기
    • 사용자 비밀번호와 함께 사용

사용자 권한

username 폴더 내에서만 자유롭게 사용

  • ~/ : 사용자 폴더의 경로
    • ~ : 루트 폴더(/)로 부터 사용자 폴더까지의 경로를 축약해서 표현

관리자 권한

  • 다른 사용자 폴더는 물론 시스템 자체에도 접근 가능
    • 프로그램 설치/변경/삭제 가능
    • 관리자 권한으로 변경한 내용은 사용자 권한으로 해결할 수 없음

절대 경로와 상대 경로

절대 경로

기준점인 루트 폴더(/)를 기준으로 목적지까지의 절대적인 위치
→ 시작 지점부터 목표지점까지의 주소

상대 경로

현재 위치를 기준으로 목적지까지의 상대적인 위치

  • . : 현재 위치
  • .. : 상위 위치
  • / : 폴더 내부
  • ./: 현재 폴더 내부
  • ../: 상위 폴더 내부



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

패키지

여러 파일이 담겨있는 하나의 박스(압축 박스) ex) 알집

  • 기본 구성: 프로그램 파일, 프로그램 설치 파일, 프로그램 설치 설명서, 프로그램의 정보를 담은 파일

패키지 매니저

패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구 ex) 앱 스토어




Chapter3. Node.js

Node.js

런타임(runtime)

프로그래밍 언어가 실행되는 환경 → 어떤 프로그램이 동작할 때 프로그램이 동작하는 곳
ex) JavaScript의 런타임은 크롬, 사파리, Node.js 등

Node.js

웹 브라우저가 아닌 곳에서도 JavaScript 실행 가능
→ 웹 페이지 구성은 물론 서버 구축까지 가능

  • node 파일명.js : Node.js 환경에서 JavaScript 파일 실행하기

nvm(Node Version Manager)

패키지 매니저처럼 node.js의 다양한 버전을 설치 및 관리할 수 있음

  • nvm ls : 현재 nvm을 통해 설치한 Node.js의 버전 확인
  • nvm install 버전 넘버 : 특정 버전의 Node.js 설치하기
    • 이미 설치된 버전을 삭제하지 않고 원하는 버전 설치
  • nvm use 버전 넘버 : 다른 버전의 Node.js 사용하기

npm(Node Package Manager)

필요한 모듈을 다운로드할 수 있는 모듈 스토어

npm 모듈(Module)

다른 사람들이 이미 만들어놓은, 검증된 코드

package.json

npm 모듈에 대한 정보를 담아놓은 곳 → 모듈 설명서

  • 실제 모듈은 node_modules라는 폴더에 저장
  • 프로젝트 코드 전달 시, 포함하고 있는 모듈을 모두 전달하지 않아도 됨
    • npm install : package.json에서 필요하다고 하는 모듈 다운로드하기
    • 완료되면 node_modules 디렉토리가 생김

0개의 댓글