web-dev-qa-db-ja.com

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:~# 

ユーザーごとに常に1つの.bashrcファイルと.bash_profileファイルしかありませんか?

また、.bashrcと.bash_profileは常に/ home/"user name"ディレクトリにありますか?

14
user109285

Bashがデフォルトで参照するのはユーザーのホームディレクトリだけです(はい)。 Linuxには通常、単一のソース(/ etc/skel)もあります。ただし、ユーザーのホームディレクトリは/ homeの下にある必要はありません。

質問を編集して、.bash_loginファイルと.bash_profileファイルの場所を確認したようです。に基づく #プロンプト、これをrootとして実行していると想定します。その場合、ファイルは

/root/.bash_history
/root/.bashrc

ユーザーのホームディレクトリについては、上記の私の元の回答を参照してください。常に/ homeとは限りません。この場合、ルートのホームディレクトリは/root

15
Jeff Schaller

_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_ DebianベースのLinux)もあります。デフォルトでは、これは非対話型、非ログインシェルであっても設定されています。

編集:

パスの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が存在します。

10
Timothy Martin

bashrcファイルの場所はディストリビューションによって異なります...これがシステムの基本的なリストですbashrc
/etc/bashrc(Redhat、Fedoraなど)
/etc/bash.bashrc(Debian、Ubuntu、Linux Mint、Backtrack、Kaliなど)
/etc/bash.bashrc.local(Suse、OpenSuseなど)
次に、プライベートシングルユーザーbashrcがあります。これは、ほとんどの場合、基本的にすべてのディストリビューションの~/.bashrcに保存されます...ディストリビューションの1つがない場合リストされている、または特別なシステムがある場合は、そのディストリビューションまたはシステムについてGoogleでbashrcの場所をいつでも検索できます...
よろしく、
面白い...

6
Interesting...

すでに述べたように、bashrcのスケルトンは/etc/skel/.bashrcにあります。ユーザーごとに異なるbash構成が必要な場合は、そのユーザーのホームフォルダーに.bashrcファイルを配置する必要があります。

.bash_profileと.bash_loginに関しては、ユーザーはそれらを手動で作成し、bashrc経由でリンクする必要があります。 bash_profileとbash_loginは、ロードしたさまざまな設定をより整理された感じにするために存在します。私は個人的にすべてのエイリアスをbash_profileに保持しているので、bashrcで混乱をソートして簡単な編集を行う必要はありません。

.bashrcファイルの内容の例を次に示します。

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