.bashrc, /etc/profile, .bash_profile

prana·2025년 1월 12일
1

Linux

목록 보기
30/32
  • 설치 결과 보고서 작성 중에 항목들이 있어서 구분이 잘 안가서 찾아보게 되었다..

1. .bashrc

  • 인터랙티브 쉘에서 실행(사용자가 명령어를 직접 입력, 프롬프트 표시됨 $, #, 실행됨)
  • 사용자의 홈 디렉토리 (~/.bashrc)
  • 명령어를 입력받을 수 있는 로그인 하지 않은 쉘(예: 터미널을 열 때)에서 환경 설정을 초기화
  • 별도의 로그인 과정 없이, 쉘이 열릴 때 매번 실행된다.

적용 내용

  • 프롬프트 설정(PS1 등)
  • 쉘에서 매번 적용해야 하는 단기적인 설정
  • 사용자 정의 함수
  • alias 설정
[oracle@cubjin4 20250112-17:12:01]:ORACUB:[/home/oracle]
$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific environment
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
    PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions

실행 시점

  • 터미널을 열 때 실행
  • 로그인 쉘이 아닌 서브 쉘에서 실행 됨

2. /etc/profile

  • 시스템 전역 설정 파일
  • 모든 사용자에게 공통으로 적용되는 환경 변수를 정의한다
  • 로그인 쉘이 실행될 때 실행
  • 일반적으로 사용자별 설정보다 우선적으로 적용됨

적용 내용

  • 시스템 전체 환경 변수 (PATH, LANG 등)
  • 전역 기본값 설정
  • 시스템 수준에서 필요한 설정

실행 시점

  • 로그인 쉘에서 실행
  • 사용자가 로그인할 때 최초 실행되며, 이후 개별 사용자 설정 파일로 이어짐

3. .bash_profile

  • ~/.bash_profile
  • 로그인 쉘에서 사용자별 설정을 관리
  • 한 번 로그인 할 때만 실행됨
  • 사용자의 개인 환경 변수를 정의
  • .bashrc를 호출하도록 설정하여 서브 쉘에서도 환경 설정이 유지되도록 연결 가능하다.

적용 내용

  • 개인적인 환경 변수
  • 쉘 초기화 시 실행되어야 하는 설정

실행 시점

  • 로그인 쉘에서 실행
  • ex) ssh 서버에 접속하거나, 로그인 화면에서 터미널로 들어갈 때 실행

로그인 쉘과 비로그인 쉘의 차이

로그인 쉘

  • 사용자가 로그인을 수행하여 쉘을 시작하는 경우
  • ssh username@hostname, 터미널에 처음 로그인 시
  • 실행 파일 : /etc/profile -> ~/.bash_profile 또는 (~/.profile)

비로그인 쉘

  • 사용자가 로그인 하지 않고 쉘을 실행하는 경우
  • 예) GUI 터미널을 열거나, 쉘 스크립트 실행
  • 실행 파일 : ~/.bashrc

0개의 댓글

관련 채용 정보