command line, terminal
[ 배우기에 앞서서 ]
이번에 배울 command line 은 *nix 계열의 명령어들임
그 이유는, 많은 서버사이드의 OS (AWS 또한) 가 *nix based 이거나 *nix 친화적이기 때문이다
[ CLI 의 장점 ]
-
GUI 에 비해 동선이 더욱 효율적 → 빠르고 강력하다
-
접근성이 훌륭 → 서버에 terminal 로 명령을 보낼 수 있음
[ terminal ]
-
기본 dir 은 일단은 root 임
-
ls
-
기본적으로, dir 에 있는 모든 파일/폴더를 볼 수 있음
-
ls -al
-
숨김 옵션이 걸려있는 파일/폴더들과 상세 정보를 확인 가능
-
cd
-
해당 좌표로 이동한다
-
cd, 혹은 cd ~ : 홈 디렉토리(사용자의 개인화 파일이 있는 최상위 dir)로 이동
-
cd / : 루트 디렉토리(시스템의 최상위 dir)
-
cd . : 현재 디렉토리(현재의 dir)
-
cd .. : 부모 디렉토리 (상위 dir)
-
pwd
-
현재 디렉토리로 이동
-
clear
-
터미널을 밀어줌 (초기화)
-
tab key
-
파일이나 프로그램에 접근하는 데 Intellisence 기능을 이용하여 자동완성 시켜줌
-
eg. home dir 에 ‘Code States’ 가 있는 경우, cd /Code 까지만 친 뒤 tab !
-
그렇게 하면 cd /Code\ States 로, 띄어쓰기를 back slash 로 잡아준 dir 명이 자동으로 나옴
-
touch fileName
-
touch 를 입력한 뒤 뒤에 filenName.확장자 를 입력하면 해당 파일이 생성됨
-
mkdir dirName
-
mkdir (make dir. 의 약어) 를 입력한 뒤에 dirName 을 입력하면 해당 폴더가 생성됨
-
mv fileName or dirName targetDir
-
mv 를 입력한 뒤에, fileName 이나, dirName 을 입력하고, 그 뒤에 targetDir 을 입력하면 file/dir 을 targetDir 로 보낼 수 있음
-
mv fileName or dirName newName
-
mv 를 입력한 뒤에, fileName 이나, dirName 을 입력하고, 그 뒤에 newName 을 입력하면 file/dir 을 newName 으로 바꿀 수 있음
Git, Github
한 사람이 아닌, 여러 사람이 한 파일을 가지고 일 할 경우 어떻게 해야 할까?
그래서 우리가 이용하는 게 버전관리 시스템이다
버전 관리 시스템은 다음과 같은 장점이 있다
-
각 버전을 저장하고
-
혹시 되돌려야 하면 되돌리며
-
되돌릴 수 있도록 무슨 일이 일어났는지 전부 기록이 된다
버전 관리 시스템의 간단한 logic 이다
날짜별로 바뀌는 프로젝트가 변화하는 모습을 볼 수 있다
modified 나, created 등이 뜨면서, 어떻게 변화했는지도 볼 수 있다
이런 변경 사항이 바뀌는 걸 볼 수 있고, 그 변경 사항 하나하나에 대한 snapshot 이 저장되는 기능이며
상기한 장점들 덕분에 이는 협업에서 아주 많이 쓰이고 있다
VCS(Version Control System) 중 가장 유명한 것은 Git 이고
이런 Git 들을 저장하고 다른 사람들과 같이 돌려볼 수 있는 것이 Github 이다
[ Features of Git ]
-
Branching, Merging
-
Distributed
-
Data Assurance
-
Staging Data
[ fork, clone ]
fork, clone 의 비교
-
fork : remote repository 에서 작업을 진행할 수 있게 기본 세팅
-
clone : local repository 에서 작업을 진행할 수 있게 기본 세팅
Office Hour
fork, clone, push, pull 에 대해서 직접 해 보며 이해하기!
ziteboard, 온라인 그림판으로 괜찮아 보임
staging area : 무대에서 약간 더 높은 위치가 있는 것처럼, git 에 개시 할 수 있는 애들을 올려놓는 위치, 작업대라고도 하고 싶음
commit : staging area 에 올라간 파일을 git 의 remote repository 에 snapshots 의 형식으로 본격적으로 개시해 줌
연습을 하기 위해서 github 에 새로운 remote repository 를 만들어보자!
다 해보면, dropbox 나 google cloud 로도 만들어보자!
'code-states' 카테고리의 다른 글
[code-states][we-win] 13일차 - 주말 독학, js koans, git (0) | 2020.05.17 |
---|---|
[code-states][we-win] 12일차 - git commit & push, scope and closure (0) | 2020.05.15 |
[code-states][we-win] 10일차 - algorithm, algorithm, and algorithm! (0) | 2020.05.14 |
[code-states][we-win] 8일차 - array method 3형제(map, filter, reduce), functional programming (1) | 2020.05.12 |
[code-states][we-win] 7일차 - 일요일 휴식 (0) | 2020.05.11 |