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 -—upgradable
apt upgrade
(관리자 권한 필요)apt --only-upgrade install [패키지이름]
(관리자 권한 필요)apt install [패키지이름]
(관리자 권한 필요)apt list --installed
apt 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 형식에서 키에 적힌 것은
모듈 이름
이고 값은버전
이다.