내 .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.bashrc
Debian 기반 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
기본적으로 모든 배포판에 저장됩니다... 목록에 배포판 중 하나가 없거나 특별한 시스템이 있는 경우 언제든지 bashrc
Google에서 해당 배포판의 위치를 찾을 수 있습니다. 아니면 시스템...
답변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