Linux 배시 쉘(Bash Shell, 배시 셸) 초기화 파일(/etc/profile, /etc/bashrc, ~/. bash_profile 등)에 대해 정리해봤습니다.
배시 (Bash, Bourne-again shell, 본 어게인 셸)은 본 셸을 대체하는 자유 소프트웨어로서 GNU 프로젝트를 위해 브라이언 폭스(Brian Fox)가 작성한 유닉스 셸이다.[2][3] 1989년 발표되어 GNU 운영 체제와 리눅스, 맥 OS X 그리고 다윈 등 운영 체제의 기본 셸로 탑재되어 광범위하게 배포되었다. 또한 DJGPP와 노벨 넷웨어에 의해 도스로 이식되었고 시그윈과 MinGW의 배포로 마이크로소프트 윈도우로 이식되었다. - 출처 : 위키백과
위의 위키백과 설명처럼 배시 쉘은 터미널 실행시(로그인 시) 기본 쉘로 사용됩니다.
bash쉘 초기화 설정 파일인 /etc/profile, ~/bashrc 등에 환경변수, 시작프로그램, 함수, 별칭(alias) 등을 추가하면 Linux를 효과적으로 사용할 수 있습니다.
# 로그인쉘 확인하는 명령어
env | grep SHELL
echo $SHELL
# 사용가능한 쉘 리스트 확인
cat /etc/shells
# User별 로그인 쉘 확인하기
cat /etc/passwd
# 쉘 변경하기 (chsh 명령어)
chsh -s [쉘경로] [사용자 이름]
# ex. chsh -s /bin/sh root ← root의 기본쉘을 sh(본쉘)로 변경
이제 본격적으로 Bash 쉘 초기화 파일 종류 / 실행 순서에 대해 설명하겠습니다.
초기화 파일 목록 확인 스크립트와 실행 순서
# 초기화 파일 목록
ls -lh /etc/profile.d/*.sh /etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile
# 초기화 파일 내용 확인하기 (awk 명령어 사용)
ls /etc/profile.d/*.sh /etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile | awk '{print $NF}' | xargs grep -n 검색문자열
초기화 파일의 실행 순서는 아래와 같습니다.
(1~3 파일은 모든 User에게 적용, 4~5번 파일은 해당 User에게만 적용)
※ 주의 : 초기화 파일별 제일 아래에 환경변수나, 시작프로그램, 별칭 설정이 된 경우의 실행 순서입니다. 초기화 파일의 아래가 아닌 위, 중간 부분에 환경변수, 시작프로그램 등을 추가한다면 위의 실행 순서로 실행되지 않습니다.
기타 궁금하신 사항은 댓글 남겨주세요.
감사합니다.
1. 제타위키, profile bashrc bash profile 실행 순서, https://zetawiki.com/wiki/Profile_bashrc_bash_profile_%EC%8B%A4%ED%96%89_%EC%88%9C%EC%84%9C
2. 제타위키, Bash 쉘 초기화 파일, https://zetawiki.com/wiki/Bash_%EC%89%98_%EC%B4%88%EA%B8%B0%ED%99%94_%ED%8C%8C%EC%9D%BC
3. 코딩팩토리, [Linux] 리눅스 쉘(Shell) 확인 및 변경하는 법, https://coding-factory.tistory.com/507
[Linux] buffer cache 파일 확인하기 (1) | 2022.02.08 |
---|---|
[Linux] 하위디렉토리까지 파일검색 후 날짜 출력하기 (하위폴더 검색 및 mtime출력) (0) | 2021.08.09 |
[Linux] 리눅스 -dev, -devel 패키지란? (0) | 2021.05.13 |
[Linux] 데이터 랜덤 추출 (sort , shuf) (0) | 2021.02.16 |
엘라스틱서치(elasticsearch)에 IP 설정해서 외부에서 접속하기 (0) | 2020.03.30 |