ログインシェルがbashのときに、シェル起動(ログイン)時に定義した環境変数やエイリアスや関数を自動的に有効にする定義ファイルがいくつかあります。これらのファイルは全て同じ役割なんですが、対象のユーザーや読み込む順序が違います。対象ユーザーと読み込み順序をまとめました。
読み込み順序は以下の記載順となります。
/etc/profile
↓
~/.bash_profile
↓
~/.bash_login(~/.bash_profileがなければ読み込まれる)
↓
~/.profile(~/.bash_profile, ~/.bash_loginがなければ読み込まれる)
↓
~/.bashrc(シェル起動時に毎回読み込まれる)
/etc/profile
全てのユーザーが参照します。なので、ユーザーごとに編集することがないためほとんど触ることはないと思います。
~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc
~/配下のファイルはユーザーごとに参照します。ユーザー個別に編集するのでこれらのファイルを触ることがほとんどかと思います。
なかでも殆どの場合~/.bash_profileと~/.bashrcを編集するかと思います。
~/.bash_profileと~/.bashrcの使い分け
これらのファイルは実行される処理は同じですが、実行されるタイミングに合わせて使い分けをします。
~/.bash_profileはログインのときだけ実行されるので、環境変数の設定をします。
~/.bashrcはシェルを起動する度に実行されるので、環境変数の設定以外の定義をします。例えば、エイリアスの定義や関数の定義です。
これら以外に~/.bash_logoutというファイルもありますが、これはログアウトのときに実行されるファイルでまだ使ったことがないです。