OS/Linux

[Linux] 환경설정 파일 종류 및 차이 - /etc/profile, /etc/bashrc 등

alien22c 2024. 3. 6. 16:41
728x90
728x90

모두 환경변수를 설정하는 데 사용하는 것으로 알고 있으나, 적용되는 범위 및 순서 시점이 다르다.
따라서 추가하려는 설정의 적용범위를 먼저 정하고 사용할 수 있도록 한다.

참고) 리눅스가 권장하는 사용 방식 :  환경설정은 profile, 기타 함수나 alias 설정은 bashrc 이용

 

환경설정 파일 (4가지)
/etc/profile
 + (Login Shell) 로그인 시 시스템 전체 환경(모든 사용자)에 적용됨
 + 전역변수를 선언할 때 사용. root권한 필요

/etc/bashrc
 + (Non-login Shell) 새로운 콘솔을 열 때 실행. 설정 추가 시 계정과 상관없이 전역에 영향을 미침
 + 전역으로 사용하게 될 함수나 별칭(alias)설정 시 사용
 + 로그인 없이 Bash가 실행될 때 로드됨.
 
~/.bash_profile
 + 사용자별도 존재하는 환경설정 파일. 사용자 디렉토리에 포함됨
 + /etc/profile보다 나중에 적용되어 전역변수를 덮어쓸 수 있음. /etc/profile에 설정했는데 뭔가 안된다면 이 파일 때문이라고 생각하면 될듯.
 
~/.bashrc
 + 사용자별도 존재하는 환경설정 파일. 지역적인 함수나 별칭을 작성할 때 사용되는 파일.

 

환경설정 파일 적용 순서
로그인 쉘(login shell)
/etc/profile -> /etc/bashrc -> ~/.bashrc -> ~/.bash_profile

비로그인 쉘(non login shell)
/etc/bashrc -> ~/.bashrc

 

로그인 쉘 확인
shopt login_shell

예시)
root@ubuntu:~$ shopt login_shell
login_shell     on
root @ubuntu:~$

 

728x90
728x90