Linux에서 .bashrc 파일은 어디에 있습니까?

Linux에서 .bashrc 파일은 어디에 있습니까?

내 .bash_login 및 .bash_profile을 찾을 수 없습니다.

root@linux:~# locate .bash*
/etc/bash.bashrc
/etc/skel/.bashrc
/etc/skel/.bashrc.original
/home/noroot/.bashrc
/home/noroot/.bashrc.original
/root/.bash_history
/root/.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/usr/share/kali-defaults/.bashrc
root@linux:~# 

사용자당 항상 하나의 .bashrc 및 .bash_profile 파일만 있습니까?

또한 .bashrc 및 .bash_profile은 항상 /home/"username" 디렉토리에 있습니까?

답변1

bash가 기본적으로 보는 유일한 것은 사용자의 홈 디렉토리입니다. 그렇습니다. Linux에서는 일반적으로 /etc/skel이라는 단일 소스도 갖습니다. 그러나 사용자의 홈 디렉토리가 /home 아래에 있을 필요는 없습니다.

.bash_login 및 .bash_profile 파일이 어디에 있는지 묻기 위해 질문을 편집하신 것으로 확인됩니다. 프롬프트 에 따르면 #루트로 실행하고 있다고 가정합니다. 이 경우 파일은 다음과 같습니다.

/root/.bash_history
/root/.bashrc

사용자 홈 디렉터리에 대한 위의 원래 답변을 참조하세요. 이 경우 루트의 홈 디렉터리는 항상 /home이 아닙니다 /root.

답변2

에 따르면 man bash:

bash가 --login 옵션을 사용하여 대화형 로그인 셸 또는 비대화형 셸로 호출되면 먼저 /etc/profile 파일(파일이 있는 경우)에서 명령을 읽고 실행합니다. 파일을 읽은 후 ~/.bash_profile, ~/.bash_login, ~/.profile을 순서대로 찾아 존재하고 읽을 수 있는 첫 번째 파일부터 명령을 읽고 실행합니다.

~/.bash_profile
    The personal initialization file, executed for login shells

~/.bashrc
    The individual per-interactive-shell startup file

게다가/etc/bashrc(/etc/bash.bashrcDebian 기반 Linux의 경우) 이는 System wide functions and aliases비대화형, 비로그인 셸의 경우에도 기본적으로 포함됩니다.

편집하다:

tilde경로에 있는 항목은 현재 home directory로그인된 사용자를 나타냅니다. Bash는 ~/.bash_profile, ~/.bash_login, or ~/.profile명령 중 하나(현재 로그인된 각 사용자)를 순서대로 사용하여 명령을 읽고 실행할 수만 있습니다. (Debian 기반 운영 체제에서는 일반적으로 ~/.bash_profile or ~/.bash_login. 이 파일을 사용하지 않습니다. 이 파일은 ~/.profile생성하지 않으면 읽고 사용한다는 의미입니다.~/.bash_profile or ~/.bash_login

#~/.profile: executed by the command interpreter for login shells.

#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login 존재하다.

답변3

파일 위치는 bashrc배포판에 따라 다릅니다. 다음은 시스템의 기본 목록입니다 bashrc.

  • /etc/bashrc(레드햇, 페도라 등)
  • /etc/bash.bashrc(데비안, 우분투, 리눅스 민트, 백트랙, 칼리 등)
  • /etc/bash.bashrc.local(수세, 오픈수세 등)

그런 다음 개인 단일 사용자가 있으며 bashrc대부분은 ~/.bashrc기본적으로 모든 배포판에 저장됩니다... 목록에 배포판 중 하나가 없거나 특별한 시스템이 있는 경우 언제든지 bashrcGoogle에서 해당 배포판의 위치를 ​​찾을 수 있습니다. 아니면 시스템...

답변4

사람들이 이미 말했듯이 /etc/skel/.bashrc에서 bashrc의 뼈대를 찾을 수 있습니다. 사용자마다 다른 bash 구성이 필요한 경우 해당 사용자의 홈 폴더에 .bashrc 파일을 배치해야 합니다.

.bash_profile 및 .bash_login의 경우 사용자는 이를 수동으로 생성하고 bashrc를 통해 연결해야 합니다. bash_profile과 bash_login은 로드하는 다양한 설정에 대해 보다 체계적인 느낌을 주기 위해 존재합니다. 나는 빠른 편집을 위해 bashrc의 복잡한 내용을 정리할 필요가 없도록 개인적으로 모든 별칭을 bash_profile에 보관합니다.

다음은 .bashrc 파일의 콘텐츠 예입니다.

if [ -f ~/.bash_profile ]; then
        . ~/.bash_profile
fi

관련 정보