MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Linux .bashrcファイル
profile-img
投稿者: fujioka090...さん
投稿日:2023/03/09 11:44
更新日:2023/03/09 11:49
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守
投稿内容

今回はLinuxの重要な設定ファイルである「.bashrc」について説明しようと思います。


Linuxでは様々な設定ファイルが有りますが、「.bashrc」はユーザー別でホームディレクトリ配下に作成されている環境設定ファイルです。この設定ファイルはbash起動時に読み込み、実行されます。なので「.bashrc」を変更した場合、変更内容を反映させるために手動で再度読み込む必要が有ります。(再度ログインでも読み込まれます)


このファイルの内容としてはbash起動時に起動したいシェルスクリプトや環境変数設定、エイリアス設定等が記載してあります。

環境変数を変更したい場合は「export」コマンドを使用すれば手動で変更できますが、ログインし直すと設定した内容は元に戻ってしまいます。

そんな時に「.bashrc」に設定したい内容を記載しておけばbash起動時に読み込まれるので、ログインし直しても設定が戻らなくなります。

「.bashrc」はviというテキストエディタにて編集可能ですので、下記コマンドにて編集画面に移行できます。


vi .bashrc


例えば環境変数には「HISTSIZE」というコマンド履歴保存数を決めるものがあります。このコマンド履歴保存数を10000に変更したい場合は「.bashrc」の末尾に下記文章を追記すればbash起動時に環境変数が設定されます。


export HISTSIZE=10000


またはホームディレクトリ配下の「scripts」というフォルダへ自分用に作ったコマンドを格納していたとして、それをコマンド名だけで実行できるようにするには下記文章を「.bashrc」の末尾に追記すればbash起動時に環境変数が設定されます。


export PATH=$PATH:$HOME/scripts


このように「.bashrc」はbash起動時の環境設定を色々と変更し、ユーザーが操作しやすい環境を整えることができます。「.bashrc」以外にもログイン時に読み込まれる環境設定ファイルが有りますので、下記に一覧を示しておきます。


/etc/profile・・・ログイン時にのみ実行され、全ユーザーが参照する。

.bash_profile・・・ログイン時にのみ実行される。

.bash_login・・・.bash_profileが無い場合に実行される。

.profile・・・.bash_profile、.bash_loginのどちらもない場合に実行される。

.bashrc・・・bash起動時に実行される。

.bash_logout・・・ログアウト時に実行される。


ユーザー個別の環境設定をしたい場合は「.bashrc」、全ユーザーに対して環境設定したい場合は「/etc/profile」を変更するという認識で問題無いと思います。

今回は「.bashrc」についてのみ説明しましたが、全ユーザーに対して環境設定をしたい場合は上記で説明したように「/etc/profile」へ設定を追記すれば設定可能です。

ただし全ユーザーで共有している大事な設定ファイルですので、間違って設定を消した状態で保存したりしないようご注意ください。編集前にバックアップを取っておいた方が安全だと思います。


今回は重要な環境設定ファイルである「.bashrc」について説明させていただきました。
インターネットで調べてみると、おすすめの設定内容が色々と載っていたりするので、自分が使えそうな設定はメモして覚えておこうと思います。

参考資料

bash設定ファイルの一覧と読み込み順序まとめ - bacchi.me

とほほのBash入門 - とほほのWWW入門 (tohoho-web.com)

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3