
【Linux】シェル機能の保存設定
シェルの機能や設定(エイリアスや変数など)は、通常一時的なものであり、シェルセッションが終了するとリセットされます。これらの設定を永続化するためには、特定の設定ファイルに保存する必要があります。

bashの設定ファイル
ファイル名 | 対象 | 参照される タイミング | 設定内容 |
---|---|---|---|
/etc/profile | 全ユーザー | ログイン時 | 基本的な環境変数 |
/etc/bashrc (Red Hat系のみ) /etc/bash.bashrc (Debian系のみ) | 全ユーザー | bash 起動時 | 基本的なエイリアスなど |
~/.bash_profile | 特定ユーザー | ログイン時 | ユーザーごとの環境変数 |
~/.bash_login | 特定ユーザー | ~/.bash_profile が存在しない場合のログイン時 | ユーザーごとの環境変数 |
~/.profile | 特定ユーザー | ~/.bash_profile と ~/.bash_login が存在しない場合のログイン時 | ユーザーごとの環境変数 |
~/.bashrc | 特定ユーザー | bash 起動時 | やーざーごとのエイリアスなど |
~/.bash_logout | 特定ユーザー | ログアウト時 | シェル終了時に実行 |
ログイン時におけるシェルの設定ファイルの読み込み順序
この図は、Bashシェルの初期化ファイルの読み込み順序を示しています。以下に各ファイルの役割と読み込み順序について説明します。

この流れにより、システム全体の設定とユーザー個別の設定が適切に反映されるようになります。
- /etc/profile:
システム全体の初期化ファイル。ログインシェルが起動する際に最初に読み込まれます。 - /etc/bash.bashrc(Debian系のみ):
Debian系のシステムで使用される、システム全体のBashシェルの初期化ファイル。ログインシェルが起動する際に読み込まれます。 - ~/.bash_profile:
ユーザー個別の初期化ファイル。ユーザーがログインする際に読み込まれます。このファイルが存在しない場合、「~/.bash_login」に進む。- ~/.bash_login:
~/.bash_profileが存在しない場合に読み込まれるユーザーの初期化ファイル。このファイルが存在しない場合、「~/.profile」に進む。 - ~/.profile:
/.bash_profileと/.bash_loginが存在しない場合に読み込まれる初期化ファイル。
- ~/.bash_login:
- ~/.bashrc:
ユーザー個別のBashシェルの初期化ファイル。他の初期化ファイルからも読み込まれます。 - /etc/bashrc(Red Hat系のみ):
Red Hat系のシステムで使用される、システム全体のBashシェルの初期化ファイル。
bash起動時におけるシェルの設定ファイルの読み込み順序
この図は、Bashシェルの初期化ファイルの読み込み順序に関する、Debian系およびRed Hat系のシステムの違いを示しています。

- Debian系システムでは、まずシステム全体の設定ファイル(/etc/bash.bashrc)が読み込まれ、その後ユーザー個別の設定ファイル(~/.bashrc)が読み込まれます。
- Red Hat系システムでは、ユーザー個別の設定ファイル(~/.bashrc)が読み込まれた後にシステム全体の設定ファイル(/etc/bashrc)が読み込まれます。
このように、システムごとに初期化ファイルの読み込み順序が異なり、それぞれのシステムの特性に応じた設定が行われるようになっています。
設定の永続化方法
エイリアスの設定
エイリアスを永続化するには、~/.bashrc
や ~/.bash_profile
に設定を追加します。
alias ll='ls -la'
環境変数の設定
環境変数を永続化するには、~/.bashrc
や ~/.profile
に設定を追加します。
export PATH=$PATH:/new/path
これらの設定を適切なファイルに追加することで、次回シェルを起動した際にも設定が反映されます。