.bash_profileとか.bashrcとか.bash_logoutとか色々あってよくわかんないよボケが
なんか色々あってよく分からんので覚書。
ドットファイルとは
そもそも何でファイル名の前にドットがついてんのか喧嘩売ってんのかって感じなんだけど、このファイル名の前にドットがついているものは「ドットファイル」という。windowsで言う隠しファイルみたいなもの。windowsでもlinuxでも、なんか超重要なファイルは普通は見せないようにしておきたいらしい。
もちろん隠しファイルという位置づけなので、lsをしたところでこのドットファイルは表示されない。ので -a オプションをつける。
隠しファイルと言っても結局はファイルなので、いじるときもパーミッションが適切に設定されていれば普通のファイルと同じように編集ができる。でもファイル名のドットを消すと、ドットファイルとして認識されなくなるので注意。
ログインシェルの設定ファイルたち
で、題名のbashという名前のついたドットファイルたちなのだが、こいつらは環境変数などの初期化ファイルたち。bash関連以外も含めて以下のようなファイルがある。
/etc/profile
ログインシェル関係ないけど、どのユーザーでログインしてもログイン時に読まれるファイル。システムの環境変数なんかが書かれている。全てのユーザーに共通に設定したい環境変数があればここでexportする。java系の環境変数はよく見る。
/etc/profile.d/*
RH系固有のディレクトリ。/etc/profileの中でインクルードされてる。このディレクトリ内には各プログラム固有の環境変数設定の書かれたファイルたちが置かれている。僕の環境(CentOS5.6)だと、ディレクトリ内に以下のようなファイルたちがあった。
colorls.csh cvs.sh glib2.sh krb5-devel.sh krb5-workstation.sh lang.sh less.sh vim.sh
colorls.sh glib2.csh krb5-devel.csh krb5-workstation.csh lang.csh less.csh vim.csh which-2.sh
vimを見てみたら alias vi=vim みたいな設定が書かれていた。
~/.bash_profile
/etc/profileは全ユーザー共通のものだったが、ここからは/home/hogeとか各ユーザーhomeディレクトリ以下にある設定ファイルとなる。この.bash_profileは各ユーザーがログインしたときに1度だけ読み込まれるファイル。ここに各ユーザーごとの環境変数が設定される。/binとかのパスもここで通してある。
~/.bash_login
.bash_profileが存在しなかったときに読み込まれるファイル。内容としては同じようなものだと思うけど、自分の環境下では未確認。
~/.profile
.bash_profileも.bash_loginも存在しなかったときに読み込まれるファイル。内容としては云々以下略。
~/.bash_history
historyコマンド叩いたときに出てくる奴。最近実行したコマンドがこの中に記録される。
~/.bash_logout
ログアウト時に読み込まれる。デフォルトだとclearコマンドが書かれているだけ。ちなみにclearコマンドは表示されてる文字列をクリアしてプロンプトを一番上にもってくる。
~/.bashrc