리눅스를 쓴다면 가장 흔하게 보게 될 Bash의 모습. 그 위상은 Windows의 cmd와 비슷하다.


리눅스를 쓰신다면 명령 창, 터미널에 익숙해져야 한다는 것을 많이 들어보셨을 겁니다. 과거의 DOS를 쓰셨던 분들이라면 이러한 명령에 익숙하겠지만 GUI로 컴퓨터를 처음 쓰셨던 분들은 막막하기만 하지요. 하지만 Power User라면 Windows든 Unix든 이러한 CLI에 익숙해져야 난데없는 일이 일어났을 때 그나마 복구 할 수 있는 여력이 생깁니다.


그 중 쉘(Shell)이라는 표현을 들어 보셨을텐데요. CLI나 GUI나 이 쉘이 곧 UI의 역할을 해줍니다. Windows는 GUI 쉘로 Explorer를 Linux/Unix는 Gnome, KDE, Xfce, LXDE 등등...이 있는 셈이고(wayland용은 별개로 합시다.) CLI용 쉘로는 Windows는 cmd, Linux는 bash(가장 많이 쓰임), tsh, zsh 등이 있습니다. 흔히 bash가 일반적입니다.


과거의 Dos는 command.com 이 커널이자 쉘의 역할을 해 주었습니다. Linux/Unix/OSX는 보통 Bash를 CLI로 사용하고 있고 bash를 기본으로 스크립트를 사용합니다. bash가 나쁘지는 않지만 zsh가 더 편리한 기능이 더 많고 알아보기가 편합니다.


대표적인 것이 Tab 키의 기능인데 우분투는 각종 스크립트로 bash에 이와 비슷한 기능을 넣었지만 zsh에 비할 바는 못 됩니다.




bash의 경우 Tab을 누르면 현재 파일 리스트 중에서 찾아주지만(심지어 두 번 눌러야 하지요)zsh는 명령어 중에서 해당 명령어로 시작되는 것들을 바로 리스트로 뽑아내 줍니다.


그 외에도 vi와 vim의 관계처럼 약간의 색상을 통한 강조 비슷한 효과도 부여합니다.


그러면 한번 zsh를 사용해봅시다.


그러면 zsh를 설치해봐야겠지요?

sudo apt-get install zsh


그러면 아래와 같은 것이 나오는데 2번을 추천하므로 (추천하는 .zshrc 파일을 만들어서 관리 및 설정) 2번을 누르도록 합시다.



솔직히 설정하기 귀찮으니까 2번을 누르자. 0번을 누르면 뭘 잔뜩 물어본다고...


그리고 임시로 zsh 명령을 쳐서 zsh로 


chsh -s `which zsh`


chsh는 쉘 선택 명령어이고 which zsh는 zsh가 설치된 위치, /usr/bin/zsh를 말합니다. 이제 로그아웃 했다가 다시 로그온 하면 터미널의 쉘이 zsh로 변했을 겁니다.


하지만 oh-my-zsh!를 사용하면 이 강력한 zsh를 더 편리하게 만들어 줍니다. Firefox의 확장같이 zsh를 확장해주는 것이지요.

우선 curl을 설치하고 oh-my-zsh를 설치하는 스크립트를 사용하면 됩니다.


sudo apt-get install curl

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh


위 명령어를 사용하면 아래와 같이 나오는데요. 이제 zsh의 확장인 Oh my zsh!도 설치되었습니다. 여기서 몇 가지 기능을 사용하면 되는데요. 일단 쉘의 확장이기 때문에 로그아웃 했다가 다시 로그온 해주셔야 합니다.



Oh my zsh가 설치되었습니다! 짝짝짝


대표적인 것이 테마 기능인데요. 커맨드창에 무슨 테마냐 하시는 분들은

https://github.com/robbyrussell/oh-my-zsh/wiki/Themes


여기에서 나름 필요한 것이 있다는 것을 알게 될 겁니다. 시간이 뜨는 것은 유용할 것 같습니다.


일단 디폴트 테마는 robbyrusshell입니다.



굉장히 심플합니다. 하지만 저는 이게 별로 마음에 안 들더군요. 그래서 찾던 중에 agnosterzak이란 테마가 마음에 들어서 이를 설치했습니다.


http://raw.github.com/zakaziko99/agnosterzak-ohmyzsh-theme/master/agnosterzak.zsh-theme


위의 파일을 다운로드 받으신 다음에 ~/.oh-my-zsh/themes/ 에 복사해 넣으세요. 아니면


cd ~/.oh-my-zsh/themes/

wget http://raw.github.com/zakaziko99/agnosterzak-ohmyzsh-theme/master/agnosterzak.zsh-theme


위 명령어를 쓰시면 일단 테마가 추가됩니다. 그리고 ~/.zshrc 파일을 텍스트 에디터로 열고


ZSH_THEME="agnosterzak"


이렇게 바꿔주시면 그냥 터미널에서 배터리 잔량이나 시간 확인이 가능한 무시무시한 능력을 얻게 됩니다. 일단 스크린샷을 보시면 알게 될 겁니다.



...실수로 내 개인파일 리스트가 떠 있어서 지웠다.....

폰트 문제로 약간 문제가 있군요. 하지만 CLI 치고는 나름 예쁩니다. 저 깨지는 부분만 없애도 예쁠 것 같은데 어떻게 없애는 지는 모르겠네요.


~/.oh-my-zsh/themes/agnosterzak.zsh-theme


파일을 수정하면 될 듯한데 일단

SEGMENT_SEPARATOR=$'\ue0b0' # 


여기에서 e0b0을 25b6으로 수정해보겠습니다.


 기호를 ▶ 로 바꾸는 겁니다. 나름 괜찮겠지요.


..그럭저럭...그래도 이 정도면 뭐..


그럭저럭 볼 만은 하네요. 일단 여기서 그만둬야 할 것 같습니다. 저 날짜 순서도 마음에 안드는데 더 건드렸다가는 끝이 없을 것 같습니다. 일단 298번째 줄


  prompt_segment blue white "$fg_bold[white]%D{%a %e %b - %H:%M}$fg_no_bold[white]"


여기를 이렇게 바꾸면 될 것 같은데...


  prompt_segment blue white "$fg_bold[white]%D{%b %e %a - %H:%M}$fg_no_bold[white]"


이렇게는 한도 끝도 없을 것 같네요. 우선 저의 잠을 위해...


이상 zsh와 oh-my-zsh였습니다.

,