41
Command Line Tools Daekwon Kim [email protected] 0

커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Embed Size (px)

DESCRIPTION

2014. 07. 23. RORLab 강남 토즈 2호점 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco 발표 영상 : http://www.youtube.com/watch?v=HGPp-FnUNKM

Citation preview

Page 1: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Command Line Tools

Daekwon Kim

[email protected]

0

Page 2: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

naycot

@nacyotLeevi Inc.Ruby programmer

http://nacyot.com

Page 3: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

하나라도 건지면…

Page 4: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

TOC

oh­my­zshtmuxpeco

Page 5: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

oh­my­zsh

http://www.zsh.org/https://github.com/robbyrussell/oh­my­zsh

Page 6: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Install

with curl

$ curl -L http://install.ohmyz.sh | sh

with wget

$ wget --no-check-certificate http://install.ohmyz.sh -O - | sh

Page 7: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Manual Install

$ apt-get update$ apt-get install git zsh$ zsh --versionzsh 5.0.2 (x86_64-pc-linux-gnu)$ chsh -s /bin/zsh$ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh$ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc$ zsh

Page 8: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

단축키

^ = CtrlM = Alt(Meta)Like Emacs

Page 9: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

앞으로 / 뒤로

^a : 맨 앞으로^e : 맨 뒤로^b : 한 칸 앞으로^f : 한 칸 뒤로

Page 10: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

현재 라인 삭제하기

^u : 현재 라인 삭제하기^c : 현재 라인 버리기

Page 11: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Kill / Yank

^d : 한 글자 Kill^k : 한 줄 Kill^y : Yank

Page 12: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Search

^r : 히스토리 뒤로 검색^s : 히스토리 앞으로 검색^g : 검색 종료M­p : 이전 명령어M­n : 다음 명령어

Page 13: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

디렉토리 이동

Page 14: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

상위 디렉토리로 이동

$ ..$ cd..$ cd...$ cd....$ cd.....$ cd/

Page 15: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

이전 디렉토리로 이동

$ cd /bin/$ cd /var/log$ cd ~$ cd /usr/bin$ cd - # 이전 디렉토리로$ cd -<TAB> # 이전 디렉토리 일람

Page 16: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

tmux

한 줄 요약더 나은 Screen

https://gist.github.com/nacyot/299d044bd4606a63c386http://tmux.sourceforge.net/

Page 17: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Install

$ apt-get install tmux$ git clone https://gist.github.com/299d044bd4606a63c386.git ~/.tmux.conf

Page 18: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Run

$ tmux new -s Project_A$ tmux -Vtmux 1.8

Page 19: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Prefix Key

^b

Page 20: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Windows

다수의 Window으로 분할 가능(탭과 비슷)

Page 21: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Windows

b̂ c # 새 windowb̂ & y # 현재 window 닫기$ echo 'Window1'b̂ c$ echo 'Window2'b̂ c$ echo 'Window3'b̂ c$ echo 'Window4'b̂ pb̂ nb̂ 1b̂ 2b̂ l

Page 22: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

레일스 프로젝트 예제

Windows1번 창: Emacs Editor2번 창: $ rails server3번 창: $ guard4번 창: $ rails console5번 창: 셸 작업용6번 창: 셸 작업용7번 창: Stage 서버 접속용(ssh)

초기화 스크립트도 작성 가능

Page 23: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

penes

하나의 창 안에서 여러 개의 pane로 구성 가능창마다 고유의 pane 구성을 가질 수 있음

Page 24: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

panes

b̂ |$ exitb̂ -b̂ |b̂ LeftArrowb̂ BottomArrow...

Page 25: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Sessions

Tmux의 Killer FeatuerTmux를 detach해도 프로세스는 살아있음다수의 프로젝트를 동시에 운용 가능심지어 협업도 가능원격으로 집단 개발하고 by hanhttp://blog.remotty.com/blog/2014/02/28/remote­group­development/

Page 26: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Sessions

$ tmux detach$ tmux ls$ tmux new -s Project_B

Page 27: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Peco(*) / Percol

Incremental String Searcher증분 문자열 검색기

https://github.com/peco/peco

Page 28: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Incremental

aasync aws application amazon app apple applepie

Page 29: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Incremental

apapp application apple applepie

Page 30: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Incremental

appapplication apple applepie

Page 31: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Incremental

applapplication apple applepie

Page 32: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Incremental

appleapple applepie

Page 33: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Incremental

applepapplepie

Page 34: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

파이어폭스를 사랑했던 이유

TabIncremental Serach

Page 35: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Install

$ cd /opt$ wget https://github.com/peco/peco/releases/download/v0.1.12/peco_linux_amd64.tar.gz$ tar xvf peco_linux_amd64.tar.gz$ ln -s /opt/peco_linux_amd64/peco /usr/local/bin

Page 36: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

peco

$ ps aux | peco

Page 37: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Matcher

^r : Select MatcherIgnoreCaseCaseSesitiveRegexp

Page 38: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

Zsh Script

Page 39: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

peco­pushd

$ source ~/.zsh/directory.zsh$ ̂a # 이전 디렉토리로 이동

Page 40: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

peco­git­log

$ source ~/.zsh/git-log.zsh$ cd ~/.oh-my-zsh$ ̂b # git log 검색

Page 41: 커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco

peco­select­history

$ source ~/.zsh/history.zsh$ ̂r # 이전 명령어 찾기