Shell, Vim command or git
오늘 배운내용
Shell command
기본 Linux shell command 활용
cd : 쉘의 현재 위치 이동
mv : 디렉토리, 파일 이동
cp : 파일 복사
rm : 디렉토리, 파일 삭제
mkdir : 디렉토리 생성
pwd : 쉘의 현재 위치 확인
ls (-a, -l option) : 쉘의 현 위치에 있는 디렉토리, 파일을 출력 (옵션을 이용해서 세부사항 출력, 리스트로 출력가능)
touch : 새로운 파일을 생성
cat : 파일의 내용을 terminal 상에서 확인
head : 파일의 앞 부분의 내용을 terminal 상에서 확인
tail : 파일의 뒷 부분의 내용을 terminal 상에서 확인
(option으로 -[N] N 번째 라인까지 확인할지 설정할 수 있다.)chmod : 파일권한 설정
1
$ chmod [옵션] (8진수) (파일명)
1
2
3
4
5
6
7drwxr-xr-x
d or -: directory or file
(user)(group)(other)
r: read
w: write
x: execute
-: no permissionApplication 계층과 Kernel 계층 그리고 하드웨어 계층으로 분류하여 이해할 수 있다.
- 커널은 하드웨어와 Application 사이에 위치하여 하드웨어와 응용프로그램을 이어주는 운영체제의 핵심 소프트웨어이다.
Shell의 정의에 대해 이해할 수 있다. - 커널과 사용자가 소통할 수 있도록 그 사이를 이어주는 소프트웨어이다. - 다양한 쉘이 존재 (sh, csh, bash, zsh)
Vim command
- Vim editor를 이용한 commit message 작성 및 수정
- git commit -m “”을 통한 commit message를 작성하는 것은 되도록 하지 말고 git commit 을 통해 vi editor를 사용해서 commit message를 작성하는 것이 좋다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Vim 기본 사용키
h,j,k,l - move cursor
i - insert mode
v - visual mode
d - delete
y - yank
p - paste
u - undo
r - replace
$ - move end of line
^ - move start of line
:q - quit
:q! - quit w/o write(no warning)
:wq - write and quit
:{number} - move to {number}th line
Git:
Git은 VSC(Version Control System)으로, SCM(Source Code Management)라고도 한다.Git과 Github가 다름을 이해한다.
- Git은 VCS(Version Control System)로 tool 자체이며, Github는 이 Git이라는 tool을 활용하여 웹 기반으로 만든 웹 서비스이다.
Git을 활용하여 소스코드를 관리한다.
전체적인 git flow를 이해한다.
workspace에서 add를 하게 되면, stage(=index)에 Blob의 형태로 파일 정보가 업로드 된다. stage에 올라간 파일을 로컬 repository 에 업데이트 하기 위해서 commit을 하고, 최종적으로 remote repository에 저장하기 위해 push라는 과정을 거친다.git의 환경설정을 할 수 있다.
- 기본적으로 local 환경에서 git을 사용하기 전에 user.name, user.email, core.editor 를 설정해준다.
1
2
3
4
5$ git config --global user.name "{github username}"
$ git config --global user.email "{github email address}"
$ git config --global core.editor "vim"
$ git config --global core.pager "cat"
$ git config --listcore.editor로 등록한 vim을 활용하여 commit message를 작성할 수 있다.
- Commit Convention
- commit제목은 50자 이내로 요약하여 작성한다.
- 제목과 내용사이에는 한 칸 띄어준다.
- prefix를 활용하여 commit의 용도를 한 눈에 알아볼 수 있도록 한다.ex) Commit Convention - example
1
2
3
4
5
6
7
8
9feat: features
docs: documentations
conf: configurations
test: test
fix: bug-fix
refactor: refactoring
ci: Continuous Integration
build: Build
perf: Performance1
2
3
4feat: Create server.py to start flask project
docs: Create README.md
conf: poetry init
test: User model CRUD test complete
- Commit Convention
기존에 remote repository를 local 환경에 clone해서 작업을 할 수 있다.
1
2
3$ git clone
$ git clone [git repository url] ./[생성할 폴더 이름(옵션)]