What is Terminal?
모든 운영체제는 Terminal이라고 불리는 프로그램을 가지고 있다. 터미널은 간단한 명령어를 타이핑 함으로써, 컴퓨터에 있는 파일에 접근하는 것부터 프로그램을 설치, 수정하는 것까지 다양한 일을 할 수 있게 해주는 프로그램이다. 사실 터미널에 명령어를 입력하지 않더라도 마우스와 같은 GUI를 통해 모든 일을 할 수 있다. 예를 들어, mkdir 명령어를 터미널에 입력하는 것 대신, 마우스 우클릭을 이용해서 새로운 디렉토리를 만들 수 있다. 그런데 왜 터미널을 이용하는 걸까?
- 터미널은 우리가 컴퓨터에 접근(access)할 수 있도록 해준다.
- 일반적으로 접근할 수 없는 영역에 대한 권한도 주어져서, 해당 설정을 수정할 수도 있다.
- Node, Express, DataBase와 같은 툴들이 터미널 명령어를 기반으로 하고 있다.
- GUI를 이용하는 것보다 빠르고 효율적이다.
+) 터미널의 명령어는 UNIX shell command라는 언어로 작성한다.
+) Shell | the program running on the terminal(터미널 위에서 동작하는 프로그램), ex) Bash, Z shell, power shell
- 리눅스 계열인 mac os에서 사용할 수 있는 command(bash, z shell)와 window에서 사용할 수 있는 command(power shell)가 조금 다르지만, 비슷한 부분도 많다.
15 Commands you should know | 드림코딩
기본 및 경로 관련 명령어
man | manual
- man ls | ls 명령어에 대한 manual을 확인할 수 있음
- Unfortunately Git Bash for Windows does not have the man command. Instead, try using the --help flag after the command you want to learn about.
q | quit
pwd | print working directory, 현재 경로 확인
ls | list, 현재 directory 안에 있는 컨텐츠를 확인
- ls -l | l => long option(flag)
- ls -a | a => dot으로 시작하는 파일(hidden file)까지 모두 보여줌
- ls -s | s => sort
cd | change directory, 다른 경로로 이동
- cd . | 현재 위치
- cd .. | 상위 디렉토리로 이동
- cd ~ | home dir로 이동, 윈도우는 cd \(back slash)
- cd / | root dir로 이동
- cd - | 바로 직전에 머물렀던 경로로 이동
get-childitem -File -Filter "*.txt" - Recurse | 현재 경로의 모든 하위 파일에서 확장자가 txt인 파일 확인
gcm | get command, 파일이 설치된 경로 확인, ex) gcm node
file path
path란 어떤 파일이나 리소스의 경로를 말한다.
- absolute path | 현재 위치해 있는 디렉토리와 상관없이 어떤 폴더 등에 접근할 때, /(slash)로 시작
- relative path | 현재 위치해 있는 디렉토리와 관련있는 폴더 등에 접근할 때
파일/디렉토리 생성 및 관리 명령어
mkdir 폴더명 | make directory, 폴더 생성
- mkdir 폴더1 폴더2 ... | 여러 디렉토리를 한번에 만들 수 있음
- mkdir ../폴더 | 상위 디렉토리에 폴더를 만들 수 있음
touch 파일명 | 해당 파일에 접근하거나(마지막 수정 시간이 업데이트 됨), 해당하는 파일이 없으면 파일을 생성
- touch index.html app.css app.js 와 같이 사용할 수 있음
cat 파일명 | 파일에 작성된 내용 확인
echo "아무말이나" | 터미널에 출력
echo "아무말이나" >> test.txt | test.txt에 컨텐츠 추가
explorer 파일 경로 | ex) explorer . => 현재 경로 디렉토리 열기
cp 경로1 경로2 | copy, 경로1에 해당하는 파일/폴더를 경로2로 복사
- cp -r 폴더1 폴더2 | 다양한 copy 옵션 정리
mv 파일 경로 | move, 해당 파일을 경로로 이동
rm 파일 | remove, 휴지통으로 가지 않고 바로 삭제됨
- rm -rf 폴더 | recursive(폴더 안에 포함된 파일도 함께 삭제), force(without asking)
select-string *-pattern "찾고싶은 문자열" | 현재 경로를 대상으로 문자열이 포함된 파일 확인, 만약 " *, */* "이라고 경로를 적으면 recursive하게 찾을 수 있음
rename name1 name2 | name 1에 해당하는 파일이나 폴더의 이름을 name2로 변경
Editor "vim"
대부분의 터미널 프로그램에는 "vim" 이라는 editor가 설치되어있는데, 이것을 이용하면 터미널 안에서 마치 메모장에서 하듯이, 파일의 내용을 수정할 수 있다.
vim 파일명 | 파일을 생성하고, 그 파일을 편집할 수 있는 화면을 띄운다
- i | insert(입력) 모드, 파일의 내용을 수정할 수 있다
- esc | insert 모드 종료
- : | editor의 명령어 창에 입력이 가능한 상태로 전환
- w | write, 수정 내용 저장
- q | editor 종료
- q! | 수정한 내용을 저장하지 않고, editor 종료
Environment Variables 명령어
환경 변수를 설정하면, 그 변수(키워드)가 어떤 경로를 저장하거나, 일을 하게 만들 수 있다.
환경 변수의 이름은 대문자로 설정하고, 띄어쓰기는 under bar로 표현한다.
$env: MY_VAR = "testDirectory" | MY_VAR에 testDirectory 경로를 할당
- cd $env: MY_VAR | testDirectory로 이동할 수 있다
ls env: | 모든 환경 변수 확인
$env: MY_VAR = "" | 환경 변수에서 삭제
+) VSCode setting
User setting에서는 vscode의 global한 설정을, Workspace setting에서는 작업하고있는 프로젝트에 한정하는 설정을 할 수 있다.
위에 체크된 파일에서 아래의 코드를 추가하면 프로젝트 파일의 배너 색상을 변경할 수 있다.
{
"workbench.colorCustomizations": {
"titleBar.activeBackground": "#F54133", // red color
"titleBar.inactiveBackground": "#F54133"
}
}
'Study > Git & Github' 카테고리의 다른 글
Stash (0) | 2022.04.13 |
---|---|
Branch & Merge (0) | 2022.04.11 |
Basic (0) | 2022.04.11 |
over view (0) | 2022.04.11 |
What is Git & VCS? (0) | 2022.04.09 |