[번외] bash 로그인 과정 및 환경 설정
1. 로그인 쉘 vs 비로그인 쉘
구분 | 설명 |
---|---|
로그인 쉘 | 사용자가 로그인(예: tty, ssh) 시 실행되는 쉘 |
비로그인 쉘 | 로그인 이후 터미널을 새로 열거나, 스크립트에서 사용하는 쉘 |
2. 로그인 쉘의 시작 흐름
- 사용자 인증 (ID/PW 입력)
- 인증 성공 후 환경 설정 파일 실행 (전역 → 사용자 순)
3. 환경 설정 파일 종류
3.1 로그인 쉘 환경 설정 파일
파일 | 설명 |
---|---|
/etc/profile | 시스템 전역 설정 |
~/.bash_profile | 사용자 개인 설정 (우선순위 1) |
~/.bash_login | 보조 사용자 설정 (우선순위 2) |
~/.profile | 기본 설정 (우선순위 3) |
~/.bash_profile
내에서~/.bashrc
를 수동으로 호출하는 경우가 많음
3.2 비로그인 쉘 환경 설정 파일
파일 | 설명 |
---|---|
/etc/bash.bashrc | 시스템 전역 비로그인 셸 설정 |
~/.bashrc | 사용자 비로그인 셸 설정 |
4. 환경 설정 파일의 역할
- 환경 변수 설정: 예)
PATH
,HOME
,LANG
,USER
- alias 설정:
alias ll='ls -la'
- 프롬프트 설정:
PS1='\u@\h:\w\$ '
- 로그인 시 실행 명령어 정의
5. 로그인 쉘 실행 순서 요약
/etc/profile → (~/.bash_profile → ~/.bash_login → ~/.profile) → (optional: ~/.bashrc)
6. 비로그인 쉘 실행 순서 요약
/etc/bash.bashrc → ~/.bashrc
7. 설정 파일을 다시 적용하려면?
- 현재 셸에서 변경된 설정을 다시 적용하려면
source
명령어 사용:
$ source ~/.bashrc
요약
- 로그인 쉘과 비로그인 쉘은 실행되는 환경 설정 파일이 다르다.
.bashrc
,.bash_profile
등은 사용자의 셸 환경을 초기화하고 커스터마이징하는 데 사용된다.- 설정 변경 후
source
명령어를 사용하면 셸을 재시작하지 않고도 적용할 수 있다.