gloryyam 님의 블로그

.profile과 .bash_profile의 차이점 본문

Linux

.profile과 .bash_profile의 차이점

gloryyam 2024. 7. 4. 00:44

.profile.bash_profile 파일은 모두 사용자의 환경 설정을 저장하지만 그 용도와 동작 방식에 차이가 있습니다.

 

1.  .profile

목적 : 모든 셸에 공통으로 적용되는 환경 설정을 저장합니다. 

 

사용상황 : 로그인 셸에서 실행됩니다. 즉, 사용자가 시스템에 로그인할 때 한 번 실행됩니다. 

 

적용 대상 : 모든 종류의 셸(Bash, sh, ksh 등)

 

2. .bash_profile 

목적 : Bash 셸에 특화된 환경 설정을 저장합니다. 

 

사용 상황 : 로그인 셸에서 실행됩니다. 즉, 사용자가 시스템에 로그인할 때 한 번 실행됩니다. 

 

적용대상 : Bash셸 

 

왜 두 파일을 사용하는가?

.profile과 .bash_profile 파일을 따로 사용하는 이유는 

  1. 셸 간의 호환성:
    • .profile 파일은 모든 셸에서 사용할 수 있기 때문에, 여러 셸을 사용하는 환경에서는 .profile에 공통적인 환경 설정을 저장하는 것이 유리합니다.
    • Bash에서만 사용하는 설정을 .bash_profile에 저장하면, 다른 셸에서는 이 설정이 적용되지 않아 혼동을 줄일 수 있습니다.
  2. 우선 순위:
    • 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