Before Linux...
1965년 데니스 리치, 켄 톰슨 등 AT&T Bell 연구소에서 PDP-7 기반 어셈블리어로 작성한 UNIX 개발
1973년 데니스 리치, 켄 톰슨 B를 기반으로 C를 개발한 뒤, C기반 UNIX 재작성
1983년 리차드 스톨먼 GNU(G
NU IS N
OT U
NIX) Project 돌입
GNU에 Kernal이 필요해짐
Kernal = 하드웨어와 프로그램을 이어주는 운영체제의 핵심 소프트웨어
- Linus Torvalds
MINIX를 개조해서
bash(GNU Bourne Again SHell), gcc(UNIX 기반 C 컴파일러) 를 포함한
Linux 0.1버전 발표
PC와 모바일, 서버, 임베디드 시스템 등 다양한 분야에서 활용
Redhat, Debian, Ubuntu, Android 등 다양한 배포판이 존재
- Shell
Kernal과 사용자를 이어주는 소프트웨어sh(Bourne Shell, Steve Bourne 작성)
csh (Bill Joy 작성)
bash(Bourne Again Shell, Brian Fox 작성) : UNIX 쉘로 다양한 운영체제의 기본 쉘
zsh (Paul Falstad 작성) : sh 확장형이며 현재까지 가장 완벽한 쉘
Shell Command
Command | Work | note |
---|---|---|
cd | Change Directory | |
mkdir | Make Directoty | |
pwd | Print Working Directory | |
touch | create file | |
mv | move | rename 가능 |
cp | copy | |
rm | remove | -rf (force) |
cat | catenate |
vim
Command | Work | note |
---|---|---|
q | quit | |
q! | quit discarding all changes | save X |
w | write | |
wq | write and quit | |
{number} | jump to {number}th line | |
i | insert mode | |
o | open line | |
ESC | back to normal mode | |
v | visual mode |
🌲git
Linux Kernal을 만들기 위해 Subversion을 쓰다 화가 난 리누스 토발즈는 git 이라는 버전관리 시스템을 만듦
git Process Flow and Command
git add {filename}
git commit
-> vi를 통해 commit 제목과 내용 작성
git push를 통해 원격 저장소에 업로드
Conventional Commits cf.
1. commit의 제목은 하나의 구나 절로 완성
2. Importance of Capitalize
3. prefix!
To Remember About Commit
Blog
- Static Site Generator
- Jekyll
- Hugo
- Hexo
Hexo
node.js가 필요함
install
npm install -g hexo-cli
hexo init {folder}
cd {folder}
npm install
hexo clean
hexo generate
hexo run
hexo deploy
deploy 전에 _config.yml를 통해 url, type, repo 수정