注目の書籍

好評発売中!

知識ゼロから始めるLinuxサーバーの作り方

Linux初心者でも
本格 サーバーが“即席”で 完成!自宅サーバー
クラウド化も!

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

Linuxキーワード

日経Linux

バッシュノセッテイファイル
bashの設定ファイルとは

2007/09/03
畑 陽一郎=日経Linux

 Linuxで用いられる標準のシェル・プログラムは「bash」(ばっしゅ)である。bashの設定ファイルは全ユーザー共通の/etcディレクトリと,各ユーザーごとのホーム・ディレクトリに分かれており,各ユーザーの設定が優先される。

全ユーザー共通の設定

 /etcディレクトリには,/etc/bashrcファイルと,/etc/profileファイルという,bashの設定ファイルが配置されている。

 /etc/bashrcファイルには,全ユーザーに共通のエイリアスと関数が記述されている。標準では,シェルを起動した環境ごとのプロンプトが定義されているほか,ファイルやディレクトリを新規作成した場合にどのようなパーミッションが設定されるかが記述されている。

 例えばユーザーIDの値によって処理が変化する。例えば,Fedora 7では,IDが99より大きい場合はumask 002が実行され,それ以外はumask 022が設定される。

 一方,/etc/profileファイルには環境変数と起動プログラムが記述されている。

各ユーザーごとの設定

 各ユーザーごとの設定は,エイリアスなどについては「.bashrc」ファイルに,環境変数と起動プログラムは「.bash_profile」ファイルに記述される。このほか,ログアウト時にのみ実行される「.bash_logout」ファイルと,コマンド履歴を記録する「.bash_history」ファイルも存在する。

 全ユーザー共通の設定である/etc/bashrc,/etc/profileと,各ユーザーごとの.bash_rc,.bash_profileの間には,“呼び出し関係”がある。.bash_profileは,.bashrcを,.bashrcは,/etc/bashrcを読み出すようにあらかじめ指定されている。このため,あるユーザーがbashを起動すると,まず最初に全ユーザー共通の設定内容が適用され,そこに各ユーザーごとの個別の設定が上書きされる。

 システムへのログイン時には,.bash_profileと/etc/profileが読み出される。その後,例えばGNOME端末などのシェルを起動するたびに,.bashrcが読み込まれる。しかし,.bash_profileは読み込まれない。従って,ログイン直後に1度だけ実行させたいプログラムは.bash_profileに記述するべきである。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介