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

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

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

答え1

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

.bash_loginファイルと.bash_profileファイルがどこにあるかを尋ねるように質問を編集したことがわかります。プロンプトによると、#rootとして実行しているとします。この場合、ファイルは次のようになります。

/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コマンドの1つ(現在ログインしている各ユーザー)を順番に使用してコマンドを読み取って実行することができます。 (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(Red Hat、Fedoraなど)
  • /etc/bash.bashrc(Debian、Ubuntu、Linux Mint、BackTrack、Kaliなど)
  • /etc/bash.bashrc.local(水洗、オープン水洗など)

その後、個人のシングルユーザーがいて、bashrcほとんどはデフォルト~/.bashrcですべてのディストリビューションに保存されます...リストにディストリビューションの1つがない場合、または特別なシステムがある場合は、いつでもGoogleがbashrcそのディストリビューションの場所を見つけることができます。またはシステム...

答え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

関連情報