「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

.profile

pointこの用語のポイント

point設定ファイルだよ

pointログインしたときに読み込まれるよ

pointログインシェルがbashのときに読み込まれるよ

point「.bash_profile」と「.bash_login」がないときに読み込まれるよ

スポンサーリンク

簡単に書くよ

.profileとは

「.bash_login」の補欠。
もう少し具体的に書くと

ログインシェル(ログインして最初に相手してくれるシェル)がbashで、かつ「.bash_profile」と「.bash_login」がない状態でログイン(認証して使える状態にすること)したときに読み込まれる設定ファイル
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

ログイン
シェル
bash
ログインシェル
.bash_profile
.bash_login


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ログインは、ざっくり一言で説明すると「認証して使える状態にすること」です。
ログインする対象が会員制の秘密クラブだとしたら、その秘密クラブの中に入っていくイメージですかね。

.profile

多くの場合、ログイン時の認証はIDパスワードを使ってやります。

IDは、ログインする対象のサービスから払い出されたIDだったり、登録するときに入力した自分のメールアドレスだったり、初期設定のときに自分で決めたIDだったりです。
パスワードは会員登録とかするときに自分で決めたパスワードです。

それらのIDとパスワードを入力して「おまえは使ってOKなやつかな?」を確認してもらい「あぁ、おまえは使ってOKなやつか。どうぞ使ってください」にするのがログインです。

.profile2

シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。

.profile3

コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。

.profile4

ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。

.profile5

あなたがパソコンの中身と直接やり取りすることは ありません。
あなたが やり取りする相手は、シェルです。
シェルが、あなたの代わりにパソコンの中身と やり取りしてくれます。

.profile6

シェルの詳細は、用語「シェル」の説明を ご覧ください。

.profile7

bashは「シェルの種類のひとつ」です。
一口に「シェル」と言っても、いろいろ あります。
その「いろいろ」のひとつです。

.profile8

ログインシェルは「ログインして最初に相手してくれるシェル」です。

.profile9

シェルはログイン直後から動き始めます。
この

ログインしたときに起動するシェル

がログインシェルです。

ちなみに、使うシェルは途中で別のやつに変えることもできます。
ログインしたときのシェルはcshだったけど途中からbashに変える、といったことも可能です。

.bash_profileは「ログインシェルがbashの状態でログインしたときに読み込まれる設定ファイル」です。

.profile10

「.bash_profile」はログインした直後のディレクトリホームディレクトリにあります。
場所を指定しないで

cd

コマンドを実行したときに移動するディレクトリです。

ただし「.bash_profile」は隠しファイルです。
普通に

ls

を実行しても表示されないかもしれません。
「-a」オプションを付けて

ls -a

を実行すれば「.bash_profile」も表示されます。

また「.bash_profile」は、画面上で

bash

と入力してエンターキーを押したときには読み込まれません。
あくまで「ログイン時に」読み込まれるファイルです。

.bash_loginは「.bash_profile」の補欠です。

.profile11

ログインシェルがbashの状態でログインすると、本来であれば「.bash_profile」が読み込まれます。

ところがどっこい、この「.bash_profile」がない場合があるのです。

そんなときは「.bash_profile」の代わりに「.bash_login」が読み込まれます。

なお「.bash_login」は環境によって、あったりなかったりします。
ある場合は、ログインした直後のディレクトリ(ホームディレクトリ)にあります。
場所を指定しないで

cd

コマンドを実行したときに移動するディレクトリです。

ただし「.bash_login」は隠しファイルです。
普通に

ls

を実行しても表示されないかもしれません。
「-a」オプションを付けて

ls -a

を実行すれば「.bash_login」も(あれば)表示されます。

以上を踏まえて

ログインシェルがbashで、かつ「.bash_profile」と「.bash_login」がない状態でログインしたときに読み込まれる設定ファイル

が「.profile」です。

.profile12

ログインシェルがbashの状態でログインすると、本来であれば「.bash_profile」が読み込まれます。

ところがどっこい、この「.bash_profile」がない場合があるのです。
そんなときは「.bash_profile」の代わりに「.bash_login」が読み込まれます。

ところがどっこい、その「.bash_login」もない場合があるのです。
そんなときは「.bash_login」の代わりに「.profile」が読み込まれます。

言わば

「.profile」は「.bash_login」の補欠

ですね。

なお「.profile」は環境によって、あったりなかったりします。
ある場合は、ログインした直後のディレクトリ(ホームディレクトリ)にあります。
場所を指定しないで

cd

コマンドを実行したときに移動するディレクトリです。

ただし「.profile」は隠しファイルです。
普通に

ls

を実行しても表示されないかもしれません。
「-a」オプションを付けて

ls -a

を実行すれば「.profile」も(あれば)表示されます。


image piyo2

一言でまとめるよ

まぁ「.profile」って単語が出てきたら「ログインシェル(ログインして最初に相手してくれるシェル)がbashで.bash_profile(ログインシェルがbashの状態でログインしたときに読み込まれる設定ファイル)と.bash_login(ログインシェルがbashで.bash_profileがない状態でログインしたときに読み込まれる設定ファイル)がない状態でログイン(認証して使える状態にすること)したときに読み込まれる設定ファイルなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像046
書籍画像036


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
優れたエンジニアがコミュニティの中でしていること
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性