Shell, Vim, GIT, HEXO, Blog

HunGeun·2022년 4월 13일
0

Before Linux...

1965년 데니스 리치, 켄 톰슨 등 AT&T Bell 연구소에서 PDP-7 기반 어셈블리어로 작성한 UNIX 개발
1973년 데니스 리치, 켄 톰슨 B를 기반으로 C를 개발한 뒤, C기반 UNIX 재작성
1983년 리차드 스톨먼 GNU(GNU IS NOT UNIX) 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

CommandWorknote
cdChange Directory
mkdirMake Directoty
pwdPrint Working Directory
touchcreate file
mvmoverename 가능
cpcopy
rmremove-rf (force)
catcatenate

vim

  • vi == vim
CommandWorknote
qquit
q!quit discarding all changessave X
wwrite
wqwrite and quit
{number}jump to {number}th line
iinsert mode
oopen line
ESCback to normal mode
vvisual mode

🌲git

Linux Kernal을 만들기 위해 Subversion을 쓰다 화가 난 리누스 토발즈는 git 이라는 버전관리 시스템을 만듦

Character n Pros

  • 빠르다
  • 분산형 저장소를 지원한다
  • 비선형적 개발이 가능하다 (브랜치)
  • 동시작업이 가능하여 생산성이 증가한다
  • 원하는 시점으로 Checkout이 가능하다
  • Branch를 통해 실험적 개발이 가능하다 (Merge를 통해 반영)
  • local 내에서 사용하기에 인터넷 없이도 사용 가능하다


    통용되게 사용할 수 있도록 배워야한다.

git GUI Clients

  • git GUI
  • sourcetree
  • kraken
  • smartGit

Start Git

  • git config --global
    user.name
    user.email
    core.editor
    core.pager

    checking : git config --list
    edig : vi ~/.gitconfig

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

  • 최소단위로 자주 할 것
  • 해당 작업단위에 수행된 모든 변화가 해당 commit에 포함되어야 함
  • 모두가 이해 가능해야 함
  • 구성과 의도를 충실하게 작성할 것

Blog

  • Static Site Generator
  1. Jekyll
  2. Hugo
  3. Hexo
  • Hexo
    node.js가 필요함

  • install

npm install -g hexo-cli

hexo init {folder}
cd {folder}
npm install
  • clean & generate
hexo clean
hexo generate
  • run
hexo run
hexo deploy

deploy 전에 _config.yml를 통해 url, type, repo 수정

0개의 댓글