소개
이전 실습에서는 터미널을 닫으면 구성이 사라졌습니다. 호텔 방을 나가면 방이 초기화되는 것과 비슷합니다.
변경 사항을 유지하려면 특정 구성 파일에 저장해야 합니다.
이는 중요한 운영 습관입니다. 일시적인 변경은 실험할 때 유용하지만, 장기적으로 사용할 셸 동작은 일반적으로 셸이 세션을 시작할 때 읽는 시작 파일에 저장합니다.
셸마다 사용하는 파일이 다릅니다.
- Zsh(LabEx 기본 셸):
~/.zshrc - Bash:
~/.bashrc
셸이 하나의 보편적인 프로그램이 아니므로 이 차이는 중요합니다. 셸마다 고유한 규칙, 시작 방식, 구성 파일이 있습니다.
이 실습에서는 다음 작업을 수행합니다.
- Zsh 구성을 수정합니다.
- Bash로 전환합니다.
- Bash 구성을 수정합니다.
Zsh 구성 편집 (.zshrc)
LabEx 의 기본 셸은 Zsh입니다. Zsh 의 구성 파일은 ~/.zshrc입니다.
~/.zshrc를 엽니다.
nano ~/.zshrc
- 파일의 맨 아래로 이동하여 다음 내용을 추가합니다.
alias hellozsh='echo Hello from Zsh'
- 저장하고 종료합니다 (
Ctrl + O→Enter→Ctrl + X).
구성 파일에 내용을 작성했지만 셸은 아직 해당 내용을 읽지 않았습니다.
구성 파일을 편집하면 디스크의 파일이 변경되지만, 현재 실행 중인 셸의 동작이 즉시 바뀌지는 않습니다. 새 설정을 적용하려면 셸이 해당 파일을 다시 읽어야 합니다.
구성 다시 불러오기 (source)
source를 사용하여 셸이 구성 파일을 다시 읽도록 합니다.
source 명령은 현재 셸에 파일의 명령을 읽고 실행하도록 지시합니다. 새 자식 프로세스가 아니라 현재 세션에서 실행한다는 점이 중요합니다.
- 구성을 다시 불러옵니다.
source ~/.zshrc
- 새 별칭을 테스트합니다.
hellozsh
출력:
Hello from Zsh
이제 이 별칭은 Zsh 에서 영구적으로 사용할 수 있습니다.
Bash 로 전환
이제 셸별 구성이 서로 격리되는지 확인합니다.
- Bash로 전환합니다.
bash
- Zsh 별칭을 실행해 봅니다.
hellozsh
출력: command not found.
Bash 는 ~/.bashrc만 확인하기 때문에 명령을 찾지 못합니다.
이 예는 셸 사용자 지정 설정이 셸별로 적용되는 경우가 많다는 점을 보여 줍니다. 한 셸에 만든 설정이 자동으로 모든 셸에 적용되지는 않습니다.
Bash 구성 편집 (.bashrc)
이제 Bash 를 구성합니다.
.bashrc를 엽니다.
nano ~/.bashrc
- 파일의 맨 아래에 다음 별칭을 추가합니다.
alias hellobash='echo Hello from Bash'
저장하고 종료합니다.
Bash 구성을 다시 불러옵니다.
source ~/.bashrc
- 테스트합니다.
hellobash
출력: Hello from Bash.
- Bash 를 종료하여 Zsh 로 돌아갑니다.
exit
요약
이 실습에서는 Linux 환경을 영구적으로 사용자 지정하는 방법을 배웠습니다.
- 셸별 설정: 셸마다 (Zsh, Bash) 사용하는 구성 파일 (
.zshrc,.bashrc) 이 다릅니다. - 영구 적용: 이러한 파일에 저장하지 않으면 터미널 세션에서 변경한 내용은 일시적으로만 유지됩니다.
- source:
source를 사용하면 터미널을 다시 시작하지 않고도 변경 사항을 즉시 적용할 수 있습니다.
이제 어떤 셸을 사용하든 환경을 사용자 지정할 수 있습니다!



