- 설치 결과 보고서 작성 중에 항목들이 있어서 구분이 잘 안가서 찾아보게 되었다..
1. .bashrc
- 인터랙티브 쉘에서 실행(사용자가 명령어를 직접 입력, 프롬프트 표시됨 $, #, 실행됨)
- 사용자의 홈 디렉토리 (~/.bashrc)
- 명령어를 입력받을 수 있는 로그인 하지 않은 쉘(예: 터미널을 열 때)에서 환경 설정을 초기화
- 별도의 로그인 과정 없이, 쉘이 열릴 때 매번 실행된다.
적용 내용
- 프롬프트 설정(PS1 등)
- 쉘에서 매번 적용해야 하는 단기적인 설정
- 사용자 정의 함수
- alias 설정
[oracle@cubjin4 20250112-17:12:01]:ORACUB:[/home/oracle]
$ cat .bashrc
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH
실행 시점
- 터미널을 열 때 실행
- 로그인 쉘이 아닌 서브 쉘에서 실행 됨
2. /etc/profile
- 시스템 전역 설정 파일
- 모든 사용자에게 공통으로 적용되는 환경 변수를 정의한다
- 로그인 쉘이 실행될 때 실행
- 일반적으로 사용자별 설정보다 우선적으로 적용됨
적용 내용
- 시스템 전체 환경 변수 (PATH, LANG 등)
- 전역 기본값 설정
- 시스템 수준에서 필요한 설정
실행 시점
- 로그인 쉘에서 실행
- 사용자가 로그인할 때 최초 실행되며, 이후 개별 사용자 설정 파일로 이어짐
3. .bash_profile
- ~/.bash_profile
- 로그인 쉘에서 사용자별 설정을 관리
- 한 번 로그인 할 때만 실행됨
- 사용자의 개인 환경 변수를 정의
- .bashrc를 호출하도록 설정하여 서브 쉘에서도 환경 설정이 유지되도록 연결 가능하다.
적용 내용
- 개인적인 환경 변수
- 쉘 초기화 시 실행되어야 하는 설정
실행 시점
- 로그인 쉘에서 실행
- ex) ssh 서버에 접속하거나, 로그인 화면에서 터미널로 들어갈 때 실행
로그인 쉘과 비로그인 쉘의 차이
로그인 쉘
- 사용자가 로그인을 수행하여 쉘을 시작하는 경우
ssh username@hostname
, 터미널에 처음 로그인 시
- 실행 파일 : /etc/profile -> ~/.bash_profile 또는 (~/.profile)
비로그인 쉘
- 사용자가 로그인 하지 않고 쉘을 실행하는 경우
- 예) GUI 터미널을 열거나, 쉘 스크립트 실행
- 실행 파일 : ~/.bashrc
