이 글은 우분투의 기본 터미널의 shell을 bash에서 zsh로 변경하는 방법에 대해 정리한 글입니다. 추가로 oh-my-zsh를 사용하여 zsh의 테마를 변경하는 방법까지 정리하였습니다.
bash와 zsh란?
bash란?
- GNU Bourne Again SHell의 약자로, 리눅스 배포판의 사실상 표준 기본 Shell
- 실용적이고 가벼우며 참고할만한 문서나 사례가 많이 존재
zsh란?
- Z Shell을 의미하며, bash의 문법과 호환성을 유지하면서도 완성도 높은 자동완성, 글롭(globbing), 프롬프트 / 테마, 플러그인 생태계를 제공
- 특히 oh-my-zsh, powerlevel10k, autosuggestions / highlighting 등과 결합하면 개발 생산성이 크게 향상
결국 bash에서 zsh로 변경하는 이유는 bash의 문법은 그대로 사용하면서도 편의성을 향상시키기 위함이다.
zsh 설치
설치하기 전에 zsh가 설치되어 있는지 확인한다.
# zsh 버전 확인
zsh --version

위와 같이 뜨면 설치되어 있지 않은 상태이다. 만약 버전이 뜬다면, 최신 버전인지 확인한다. (2025.10.07. 기준 ver. 5.9)
(공식 홈페이지를 확인하면, 2022.10.08. 이후로 버전이 변경되지는 않은 것 같다.)
아래 명령어로 zsh를 설치한다.
sudo apt install zsh
설치가 완료되면 현재 기본 Shell이 무엇으로 설정되어 있는지 확인한다. (아마 bash 일거다.)
echo $SHELL
# /bin/bash 라고 출력될 것이다.
아래 명령어로 bash에서 zsh로 변경한다. 이제 bash는 보내줄 때가 되었다.
chsh -s /usr/bin/zsh
이렇게 변경하면 기본 Shell이 bash에서 zsh로 변경되어야 하는데, 아마 바로 확인하면 똑같이 /bin/bash가 출력될 것이다.
로그아웃 후 다시 로그인을 한 후 터미널을 띄워야 적용된 모습을 볼 수 있다. zsh가 적용된 후 첫 터미널을 띄우면 아래와 같이 뜨는 것을 확인할 수 있다.

여기서 일반적인 세팅을 진행하기 위해서 2번을 선택한다.
선택을 완료하면 아래와 같이 bash였을 때와는 사뭇 다른 모습의 Shell을 확인할 수 있다.

만약, 다시 실행했음에도 zsh로 변경되지 않았다면 아래 단계를 수행하며 다시 체크해보자.
# zsh 경로 확인 (일반적으로 /usr/bin/zsh 혹은 /bin/zsh 출력)
which zsh
# 해당 경로로 기본 쉘 지정
chsh -s /usr/bin/zsh
# /etc/passwd 상의 로그인 쉘 확인 (chsh 적용 여부 확인)
getent passwd $USER | awk -F: '{print "Login shell:", $7}'
마지막 명령에서 /usr/bin/zsh 혹은 /bin/zsh가 출력되면 성공적으로 적용된 것이다. 적용된 것을 확인하면 로그아웃 후에 다시 로그인해서 터미널을 열어서 확인해보자.
oh-my-zsh 설치
zsh로 기본 Shell을 변경했으니, 이제 oh-my-zsh를 설치한다. 설치는 아래 명령어로 설치할 수 있다.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Y를 입력해서 Oh My Zsh template를 적용하고

그럼 설치가 완료된다. 아래와 같이 터미널이 출력되면, 정상적으로 설치가 완료된 것이다.

테마 변경
oh-my-zsh로 설치가 완료되었으니, 테마를 변경해주자. 처음 설치하면 기본적으로 robbyrussell 테마가 적용되어 있다.

테마 이름과 형태는 oh-my-zsh GitHub에서 확인할 수 있다. 아래 링크를 통해 GitHub으로 이동한 후, 원하는 테마를 골라준다.
https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
Themes
🙃 A delightful community-driven (with 2,400+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, pyth...
github.com
원하는 테마를 골랐으면 아래 명령어로 .zshrc 파일을 열어준다. (bash의 설정 파일이 .bashrc라면, zsh의 설정 파일은 .zshrc이다.)
vim ~/.zshrc
.zshrc 파일을 열고 ZSH_THEME를 찾아 원하는 테마 이름으로 수정한다. 아래는 apple 테마로 변경한 예시이다.

변경이 완료되었다면, 저장하고 나와서 터미널을 다시 실행한다. 아래와 같이 변경된 것을 확인할 수 있다. (폰트 이슈로 아이콘은 깨져있다.)

번외) powerlevel10k 테마 적용
개인적으로 생각했을 때, powerlevel10k 테마가 가장 깔금하고 유용하다고 생각한다. 하지만 기본 테마가 아니기에, 적용하는 방법에 대해서 추가로 정리해보고자 한다.
먼저 폰트를 설치한다. 폰트는 MesloLGS Nerd Font를 사용한다. 아래 링크에서 MesloLG Nerd Font를 다운받은 후, MesloLGS Nerd Font Regular.ttf, MesloLGS Nerd Font Bold.ttf, MesloLGS Nerd Font Italic.ttf, MesloLGS Nerd Font Bold Italic.ttf만 설치하면 된다.
https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/Meslo.zip
설치하고 나면, 터미널의 폰트를 MesloLGS Nerd Font로 변경한다.

그리고 아래 명령을 입력해서 테마를 다운받는다. 깃헙을 클론해서 oh-my-zsh 테마가 있는 곳에 추가하는 방식이다.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
클론이 완료되면, .zshrc 파일을 열고, ZSH_THEME를 powerlevel10k/powerlevel10k로 변경한다.

변경하고 터미널을 다시 실행하면 아래와 같이 기본 설정 창이 뜬다. 처음 다이아몬드가 정상적으로 출력되면 폰트가 잘 적용된 것이니 y를 입력하고, 이후 설정들을 본인에게 맞게 진행한다.

모두 적용하면 본인이 선택한 테마에 맞게 적용된 모습을 확인할 수 있다.

플러그인 설치
가장 많이 사용하는 zsh-syntax-highlighting과 zsh-autosuggestions 플러그인을 설치해보자.
zsh-syntax-highlighting
터미널에서 입력하는 명령어를 색상으로 바로 구분해주는 플러그인이다. 명령어 사용할 때 오타를 바로 확인할 수 있어서 명령을 실행하기 전에 발생하는 실수를 줄여준다.
아래 명령어로 플러그인을 설치한다. GitHub에서 클론해서 plugins 디렉토리에 옮기는 방식이다.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
이후 .zshrc 파일을 열어 plugins 부분에 zsh-syntax-highlighting을 추가한다.

.zshrc 맨 아랫줄에 다음 줄을 추가한다. zsh-syntax-highlighting은 반드시 마지막에 source 되어야 정상 동작한다.
source ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
zsh-autosuggestions
zsh-autosuggestions는 명령어를 입력할 때, 히스토리 기반으로 추천해서 회색 글씨로 보여주는 플러그인이다. 방향키나 Ctrl + E로 자동완성이 가능하며, 입력 시간을 단축할 수 있다는 장점이 있다.
아래 명령어를 입력해서 설치한다.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
이후 .zshrc 파일을 열어 plugins 부분에 zsh-autosuggestions를 추가한다.

'🌐 OS > Linux' 카테고리의 다른 글
| [Linux][Ubuntu] Ubuntu 22.04 Grub 테마 설정 (0) | 2025.09.07 |
|---|---|
| [Linux] 리눅스 사용자 및 그룹과 파일 권한 관리 (0) | 2025.03.30 |
| [Linux] 리눅스 텍스트 에디터, Vim 사용자 환경 설정 (with. .vimrc) (0) | 2025.03.30 |
| [Linux][Ubuntu] 우분투 패키지 관리자 아카이브 위치 변경 (1) | 2025.03.29 |
| [Linux] 리눅스 텍스트 에디터, Vim 설치 및 주요 사용법 (0) | 2025.03.29 |
since 2025.01.27. ~ 개발자를 향해....🔥