IT종사자들을 위한 Mac OS터미널 세팅
IT개발자들이나 DevOps담당자들이 맥북을 사용하는 가장 큰 이유 중 하나가 유닉스(FreeBSD) 기반으로 터미널을 사용할 수 있다는 것입니다. 이 맥북의 장점을 극대화시켜 줄 수 있도록 터미널 환경을 세팅 해보겠습니다.
- 먼저 맥북의 기본터미널 대신 다양한 테마를 제공하는 iterm을 설치합니다.
- 맥북을 개발용으로 사용하기 위해 기본 Shell인 bash쉘대신 zsh쉘을 사용하도록 설정 합니다.
- oh-my-zsh를 사용해 여러 플러그인을 설치하여 터미널의 다양한 기능을 추가합니다.(autojump, autosuggestions, syntax highlighter)
iterm2 설치
iterm 홈페이지에 접속하여 iterm을 설치합니다. 버전은 stable realease 중 최신 버전을 받으시면 됩니다.
Home Brew 설치
Home Brew는 맥북용 프로그램 패키지 관리 프록램입니다. 우분투의 apt-get이나 Redhat의 yum 과 같다고 보시면됩니다.
아래 명령어를 입력하여 설치합니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
zsh 설치 및 설정
brew install zsh
which zsh /bin/zsh
chsh -s 'which zsh
oh my zsh 설치
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
oh my zsh 플러그인 설치 및 설정
- autosuggestion 플러그인
이 플러그인은 이전에 내가 사용한 명령어를 저장해두고 history기반으로 추천해주는 기능입니다.
예를들어 cd /etc/ssh 를 한번이라도 썻던 적이있으면 이 기능을 통해 자동으로 글자를 완성할 수 있습니다.
brew install zsh-autosuggestions
echo "source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
source ~/.zshrc
- autojump 플러그인
이 플러그인은 이전에 내가 들어가본 폴더가 있으면 경로를 모두 입력하지 않아도 한번에 점프하여 들어갈 수 있습니다.
예를들어 cd /etc/ssh 로 ssh폴더에 접근한 히스토리가 있으면 j ssh 만해도 /etc/ssh 경로로 접근가능합니다.
brew install autojump
echo "plugins=(autojump)" >> ${ZDOTDIR:-$HOME}/.zshrc
source ~/.zshrc
- syntax highlighter 플러그인
해당 명령어가 유효한 명령어인지 아닌지 구분해주는 플러그인 입니다. 명령어가 없는경우 빨간색으로 보여줍니다.
cd ~/.oh-my-zsh/custom/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
$ source ~/.zshrc
iterm 테마 설치 및 설정하기 (드라큘라)
git clone https://github.com/dracula/zsh.git
cp dracula.zsh-theme ${ZDOTDIR:-$HOME}/.oh-my-zsh/themes/dracula.zsh-theme
~/.zshrc 파일을 열어서 ZSH_THEME를 찾아 dracula로 바꿔줍니다.ZSH_THEME="dracula"
여기까지 개발하기 좋은 환경으로 터미널을 세팅해보았습니다.
혹시 문의가 있으시면 댓글로 답변 드리겠습니다.
'IT > DevOps' 카테고리의 다른 글
AWS 에서 EFK스택 구축하기 (0) | 2021.05.27 |
---|---|
[DevOps] Ansible 설치부터 사용까지 (0) | 2021.05.25 |
쿠버네티스(Kubernetes)란? (0) | 2020.01.18 |
[CI/CD자동화 시리즈(4)]Jenkins 빌드 자동화 설정 (0) | 2019.12.27 |
[CI/CD자동화 시리즈(3)]Git hub와 Docker hub 가입 부터 설치까지 (0) | 2019.12.26 |