CLI(Command-Line Interface) : 명령어를 입력해 컴퓨터를 조작하는 방식
GUI(Graphical User Interface) : 윈도우즈나 macOS, 또는 Linux에서 사용자가 화면을 통해 컴퓨터와 소통하는 방식
CLI와 GUI 작업 결과는 동일
Ubuntu 기준 단축키 : Ctrl(컨트롤 키) + Alt(알트 키) + t(영문 t)
터미널에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트(Prompt)라고 한다.
pwd는 print working directory의 약자이고 여기서 말하는 디렉토리(directory)는 폴더라고도 한다.
pwd
CLI인 터미널에서는 간단하게 pwd를 프롬프트에 입력하고, Enter(엔터 키)를 누르면 현재 경로가 나온다.
mkdir [생성할 폴더 이름]
mkdir은 make directories의 약자로, 폴더를 만들라는 명령을 컴퓨터에 전달한다.
ls는 list의 약자로, 특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력한다.
ls
ls -l // 폴더나 파일의 포맷을 전부 표현하라는 의미
ls -a // 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls -al 또는 ls -la // a와 l 합친 것을 출력
Ubuntu 기준
nautilus . // 현재 위치를 GUI로 실행해주는 명령어
cd [집입할 위치]
cd는 change directory의 약자로, 프롬프트로 상호작용하는 폴더를 다른 폴더로 변경한다는 의미
touch [파일명].[확장자명]
cat [파일명].[확장자명]
rm은 remove의 약자로 폴더나 파일을 삭제할 때 쓰이는 명령어이다.
명령어 rm으로 삭제한 폴더나 파일은, 휴지통을 거치지않고 삭제된다.
rm [파일명].[확장자명] // 파일을 삭제할 떄
rm -rf [폴더명] // 폴더를 삭제할 때
옵션
r은 "recursive"를 뜻하고 폴더를 지울 때 사용한다.
옵션f는 "force"를 뜻하고 질문을 받지 않고 지울 때 사용한다.
mv는 move의 약자로, 폴더나 파일을 이동할 때 사용
mv [현재 파일이나 폴더명] [바꿀 파일이나 폴더명] // 이름 변경할 때
mv [현재 파일이나 폴더명] [옮길 위치] // 위치 옮길 때
cp는 copy의 약자로, 폴더나 파일을 복사할 때 사용
cp [원본 파일명] [복사할 파일명] // 파일 복사할 때
cp -rf [원본 폴더명] [복사할 폴더명] // 폴더 복사할 때
절대 경로는 특정 폴더나 파일이 루트폴더(/)로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타낸다.
상대 경로는 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타낸다.
현재 위치한 폴더는 점(.)으로 표현하고, 상위 폴더는 두 개의 점(..)으로 표현
./는 현재 폴더 아래이다. ../는 상위 폴더이다.
whoami // 현재 사용자 확인
> [username]
whoami를 통해 확인할 수 있는 사용자는, 폴더의 형태로 존재
사용자 폴더의 경로(Path)는 ~/로 표시된다. 물결기호(~)는 루트폴더(/)로부터 사용자 폴더(username)까지의 경로를 축약한 형태
sudo는 "substitute user do" or "super user do"의 약자로 사용자 환경에서 관리자 권한을 일시적으로 획득하는 명령어
sudo는 권한 문제를 해결하는 솔루션이 아니다. 필요에 따라 현명하게 사용해야 한다.
(가능한 user 권한으로 해결할 수 있어야함)
sudo는 한번만 인증하면 그 이후는 생략한다.
리눅스의 패키지는 여러 파일을 모아 하나의 파일로 저장하고 있는 압축파일
패키지 매니저는 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구
apt update (관리자 권한 필요)apt list -—upgradableapt upgrade (관리자 권한 필요)apt --only-upgrade install [패키지이름] (관리자 권한 필요)apt install [패키지이름] (관리자 권한 필요)apt list --installedapt search [검색어]apt show [패키지이름]apt remove [패키지이름] (관리자 권한 필요)패키지 설치/삭제 등의 작업을 진행할 때 sudo 명령어를 이용해서 관리자 권한을 획득
sudo apt install wget // 예시) wget은 URL을 통해 파일을 다운로드 받는 프로그램
혹시 무언가 잘못되고 있다고 느껴지는 경우
너무 시간이 오래 걸리거나, 뭔가 과정 중에 예상치 못하게 멈춰있는 경우
Ctrl+C키는 작업을 취소하고, 터미널의 사용자 입력을 다시 되찾아 온다.
런타임이란 프로그래밍 언어가 구동되는 환경, node.js는 JavasScript의 런타임이다.
node [파일명].js // JS파일 구동(실행)
nvm은 Node Version Manager의 약자로 node.js의 버전을 관리해주는 프로그램이다.
nvm --version // nvm 버전 확인
nvm install --lts // lts 버전 설치
nvm install [버전] // 원하는 버전 설치
node -v // node 버전 확인
nvm ls // 설치한 nvm 버전 리스트
nvm use [버전] // 이미 설치된 버전중 원하는 버전 사용
npm은 Node Package Manager의 약자로 node.js의 모듈 패키지 매니저이다.
검증된 코드(모듈)을 node.js에서는 npm 모듈이라하고 이에 대한 정보를 담아둔 곳이package.json이다.
package.json은npm 모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일
(즉, 프로젝트 전반에 관한 정보가 들어있다.)
*주의 package.json은 필요한 모듈만 보여준다.
프로그램을 실행시키기 위해 필요한 실제 모듈은 package.json의 적혀있는 것을 바탕으로 직접 설치하여 node_modules이라는 폴더에 저장된다.
JSON 형식에서 키에 적힌 것은
모듈 이름이고 값은버전이다.
