본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
bash 셸이 새로 뜰 때마다 읽어 실행하는 사용자별 설정 파일
  • 위치 : ~/.bashrc (사용자마다 홈 디렉터리에 있다). 모든 사용자에게 적용하는 전역 파일은 /etc/bashrc(데비안·우분투 계열은 /etc/bash.bashrc)
  • 새 사용자를 만들면 /etc/skel/.bashrc 가 홈 디렉터리로 복사된다 → 리눅스 사용자 관리
  • 이름의 rc 는 run commands 의 줄임말이다
  • 별칭(alias) → 리눅스 alias
  • 셸 함수
  • 프롬프트 모양(PS1), 셸 옵션(set -o, shopt)
  • umask 같은 셸마다 적용할 설정

명령줄에서 alias 로 만든 별칭은 지금 셸에서만 유효하고 로그아웃하면 사라진다. 다음 로그인에서도 계속 쓰려면 ~/.bashrc 에 적어 둔다.

  • 대화형 비로그인 셸(터미널 창을 새로 열거나 셸에서 bash 를 실행할 때)이 시작될 때마다 읽는다
  • 로그인 셸은 ~/.bashrc 가 아니라 ~/.bash_profile 을 읽는다. 대부분의 배포판은 ~/.bash_profile 안에서 ~/.bashrc 를 불러오도록 해 두었으므로 로그인할 때도 결국 적용된다
# ~/.bash_profile 의 기본 내용
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

ll 과 rm 의 별칭을 영구히 등록한다.

$ vi ~/.bashrc
alias ll='ls -l'
alias rm='rm -i'

$ source ~/.bashrc      # 또는 . ~/.bashrc - 다시 로그인하지 않고 바로 적용
$ alias
alias ll='ls -l'
alias rm='rm -i'

bash 사용자 파일 비교

편집 원본 편집
파일 읽는 때 주로 넣는 것
~/.bash_profile 로그인할 때 한 번(로그인 셸) PATH 같은 환경 변수, 로그인 때 실행할 프로그램
~/.bashrc 셸이 새로 뜰 때마다 별칭(alias), 셸 함수, 프롬프트
~/.bash_logout 로그아웃할 때 임시 파일 지우기 같은 정리 작업
~/.bash_history 설정 파일이 아니다 입력한 명령 기록. 로그아웃할 때 덧붙여 저장된다
  • ~/.bash_history 에는 명령 기록만 쌓이고, 거기 alias 명령이 남아 있어도 다음 로그인 때 실행되지 않는다