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


13

.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 / "user name"디렉토리에 있습니까?

답변:


14

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

.bash_login 및 .bash_profile 파일의 위치를 ​​묻기 위해 질문을 편집 한 것으로 보입니다. 에 기초 #프롬프트, 난 당신이 루트로 이것을 실행한다고 가정하겠습니다. 이 경우 파일은

/root/.bash_history
/root/.bashrc

사용자의 홈 디렉토리에 관한 위의 원래 답변을 참조하십시오. 항상 / home은 아닙니다. 이 경우 루트의 홈 디렉토리는 /root입니다.


9

에 따르면 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.bashrc포함하는 데비안 기반 리눅스에서) System wide functions and aliases. 비 대화식, 비 로그인 셸의 경우에도 기본적으로 설정됩니다.

편집하다:

tilde경로에서이를 나타내는 home directory현재 로그인 한 사용자의. Bash는 ~/.bash_profile, ~/.bash_login, or ~/.profile명령을 읽고 실행하기 위해 순서대로 (현재 로그인 한 사용자 당) 중 하나만 사용할 수 있습니다 . (데비안 기반 운영 체제는 일반적으로 ~/.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 존재합니다.


이것은 어떤 식으로 내 질문에 대답합니까?

1
@BROY 그것은 당신 한 것이 아니라 묻고 싶었던 질문에 대한 답 입니다.
Shadur

일부 사람들이 프로젝트 디렉토리에 .bash_profile 파일을 넣는 것을 보았습니다. 실제로 bash가 선택합니까? 나는 그것이 기본적으로 일어날 것이라고 생각하지 않습니다.
Alexander Mills

5

귀하의 bashrc파일의 위치는 여기에 시스템의 기본 목록입니다 ... 배포판에 의존합니다 bashrc:
/etc/bashrc(레드햇, 페도라 등)
/etc/bash.bashrc(데비안, 우분투, 리눅스 민트, 뒤로를, 칼리 등)
/etc/bash.bashrc.local(등 수세, 오픈 수세는)
그 다음이 개인 단일 사용자 bashrc, 대부분 ~/.bashrc기본적으로 모든 배포판에 저장됩니다 ... 배포판 중 하나가 없거나 특수 시스템이있는 경우 언제든지 bashrcGoogle에서 해당 배포판의 위치를 조회 하거나 시스템 ...
감사합니다
.


1

사람들이 이미 언급했듯이 /etc/skel/.bashrc에서 bashrc의 골격을 찾을 수 있습니다. 다른 사용자가 다른 bash 구성을 원하는 경우 해당 사용자의 홈 폴더에 .bashrc 파일을 넣어야합니다.

.bash_profile 및 .bash_login에 관해서는 사용자가 수동으로 생성하고 bashrc를 통해 연결해야합니다. bash_profile 및 bash_login은 존재하는 다른 설정에 대해보다 체계적인 느낌을주기 위해 존재합니다. 개인적으로 bash_profile에 모든 별칭을 유지하므로 빠른 편집을 위해 bashrc에서 엉망을 정렬 할 필요가 없습니다.

다음은 .bashrc 파일에 포함 된 내용의 예입니다.

if [ -f ~/.bash_profile ]; then
        . ~/.bash_profile
fi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.