gloryyam 님의 블로그
.profile과 .bash_profile의 차이점 본문
.profile과 .bash_profile 파일은 모두 사용자의 환경 설정을 저장하지만 그 용도와 동작 방식에 차이가 있습니다.
1. .profile
목적 : 모든 셸에 공통으로 적용되는 환경 설정을 저장합니다.
사용상황 : 로그인 셸에서 실행됩니다. 즉, 사용자가 시스템에 로그인할 때 한 번 실행됩니다.
적용 대상 : 모든 종류의 셸(Bash, sh, ksh 등)
2. .bash_profile
목적 : Bash 셸에 특화된 환경 설정을 저장합니다.
사용 상황 : 로그인 셸에서 실행됩니다. 즉, 사용자가 시스템에 로그인할 때 한 번 실행됩니다.
적용대상 : Bash셸
왜 두 파일을 사용하는가?
.profile과 .bash_profile 파일을 따로 사용하는 이유는
- 셸 간의 호환성:
- .profile 파일은 모든 셸에서 사용할 수 있기 때문에, 여러 셸을 사용하는 환경에서는 .profile에 공통적인 환경 설정을 저장하는 것이 유리합니다.
- Bash에서만 사용하는 설정을 .bash_profile에 저장하면, 다른 셸에서는 이 설정이 적용되지 않아 혼동을 줄일 수 있습니다.
- 우선 순위:
- Bash는 먼저 .bash_profile 파일을 찾고, 없으면 .profile 파일을 찾습니다. 따라서 Bash에서만 특정한 설정이 필요할 때는 .bash_profile을 사용하고, 모든 셸에 공통으로 적용되는 설정은 .profile에 저장하는 것이 좋습니다
# PATH 설정
PATH=$PATH:/usr/local/bin:/home/user/my_custom_bin
export PATH
# 환경 변수 설정
export EDITOR=nano
export USER_NAME="Glory"
# 별칭 설정
alias ll='ls -la'
alias gs='git status'
alias rm='rm -i'
# 함수 설정
function cdl() {
cd "$1"
ls
}
function goto_projects() {
cd /home/user/projects
}
# 프롬프트 설정
PS1='\[\e[34m\]\u@\h:\w\$ \[\e[m\]'
# .bashrc 파일 불러오기
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi