맥을 사용하다보면 터미널을 이용합니다. 환경 변수 설정 등의 작업을 쉘 파일을 수정하다 보면, bashrc와 zshrc의 두 가지 파일을 보게 됩니다. 둘 다 작동하기 때문에, 무엇을 써도 상관 없지만 최적화된 방법이 무엇인지 궁금합니다.
이 포스팅에서는 두 파일의 차이점, 각각의 장단점 그리고 맥OS에서 실제 사용 방법과 잘 사용하기 위한 주의사항 등을 알아봅니다. 이를 통해 터미널 경험이 한층 더 향상됩니다.
두 파일은 모두 쉘 환경에서 사용되는 설정 파일입니다. 하지만 각각 다른 쉘 환경에서 사용합니다. bashrc는 Bash(Bourne Again Shell)에서 사용하고, zshrc는 Zsh(Z Shell)에서 사용합니다.
Bash는 Unix 계열 시스템에서 사용하는 기본 쉘로 맥OS에서도 사용했습니다. 하지만 Bash의 최신 버전 라이센스가 변경돼 그 대안이 필요해졌습니다. 그래서 맥OS 카탈리나 이후에는 Zsh가 기본 쉘로 채택됐습니다.
그래서 bashrc를 이용한 문서는 대부분 과거를 기준으로 작성됐다고 보면 됩니다. 하지만 Zsh는 Bash와 호환성이 높기 때문에 기존 Bash 스크립트 대부분을 그대로 사용할 수 있습니다.
라이센스 문제가 가장 큰 변경 이유지만, Zsh는 Bash와 다른 장점도 있습니다.
가장 많이 활용할 때는 PATH 등의 환경 변수를 작업할 때가 아닐까 싶습니다. 이 때 알아두면 좋은 내용이 있습니다. 쉘 설정은 전체 설정도 가능하지만, 프로필 단위로도 조정이 가능합니다.
적용은 코드를 입력해도 되고, 터미너를 끄고 새로 실행해도 됩니다. 터미널이 실행될 때 자동으로 쉘 설정 파일이 적용됩니다.
/etc/profile은 모든 셸 사용자에 대한 기본 설정 파일입니다. 이 파일은 시스템 전체의 기본 환경 설정을 제공합니다. 위에서 설정하지 않은 PATH가 들어가 있다면, 여기에 내용이 있을 수 있습니다.
작업을 하다 보면 대부분의 내용을 ~/.zshrc에 넣습니다. 하지만 ~/.zshrc에 명령 별칭(alias), 셸 프롬프트 조정 등 실행을 관리하는 내용을 넣는 게 좋다고 합니다.
~/.zprofile은 터미널이 열렸을 때 실행되야 하는 명령어, 에를 들면 PATH 환경 변수 설정 등의 내용 추가에 적합니다. ~/.zprofile은 맥북에서 기본으로 있지 않기 때문에 필요 시에 추가로 생성해야 합니다. 비슷한 내용으로 ~/.bash_profile, ~/.profile이 있습니다.
~/.bash_profile은 과거부터 맥북을 사용했다면 생성했을지도 모릅니다. 지우고 필요한 내용을 ~/.zprofile로 옮기면 됩니다.
이 파일은 맥 OS에서 기본으로 설정된 경로들을 포함합니다. 이 경로들이 PATH에 기본 추가됩니다.
그래서 뭔가 환경 설정이 뜻대로 되지 않는다 싶으면, 위 파일들의 내용을 한번씩 살펴보기 바랍니다. 터미널에서 ‘cat 파일이름’을 입력하면, 파일 내용이 조회됩니다.
호환성이 높지만, 두 쉘 간 명령어 호환에 문제가 있을 수 있습니다. 기존 Bash 스크립트를 Zsh에서 실행할 때는 주의가 필요합니다. 중요한 시스템 설정을 변경할 때는 반드시 백업을 먼저 만들어두세요.
zshrc 파일에 자주 설정하는 내용들을 정리했습니다.
앞에 있는 텍스트 ll을 실행하면 ls -la가 실행됩니다.
# 별칭 설정
alias ll='ls -la'
기존 환경변수 PATH는 그대로 사용하고, /usr/local/bin과 $HOME/bin을 추가합니다.
# PATH 환경변수 설정
export PATH=$HOME/bin:/usr/local/bin:$PATH
터미널을 실행하면 앞에 나오는 프롬프트를 입맞에 맞게 설정합니다.
PROMPT='%F{green}%n@%m%f:%F{blue}%~%f$'
zshrc를 잘 사용하면, 터미널 작업이 훨씬 수월합니다. zshrc는 많은 기능과 확장성을 제공하지만, 위 내용만 알아도 충분히 사용이 가능합니다. 이제 맥북 터미널을 사용할 때 혼란에 빠지는 일은 없길 바랍니다.
송대관 가끔은 예상치 못한 이별이 우리 가슴을 더 아프게 합니다. 국민가수 송대관의 갑작스러운 별세 소식은…
윈도우 pyenv 파이썬 버전 관리 파이썬을 쓰다 보면, 다양한 프로젝트에서 여러가지 버전을 사용해야 하는 일이…
파이썬 전역변수 global 파이썬에서 전역변수(global variable)는 프로그램 전체에서 접근 가능한 변수입니다. 전역변수 과다 사용은 프로그램…
제미나이 LLM 기술이 날로 발달하며, 가격도 시간이 흐를수록 저렴해지고 있습니다. DeepSeek는 오픈소스로 PC에 다운로드해 무료로…
파이썬 교육 "파이썬 배우고 싶은데 너무 어려워서 엄두가 안 나요..." 🤔 "코딩 강의는 많은데, 다…
파이썬 실행파일 만들기 파이썬은 뛰어난 가독성과 유연성 덕분에 많은 개발자들이 선호하는 프로그래밍 언어입니다. 종종 배포를…