[〜#〜] so [〜#〜] および askubunt に関する質問への回答、および$HOME
と/etc/
、環境変数を設定するために使用できるいくつかのファイルを示します。
~/.profile
~/.bashrc
~/.bash_profile
~/.gnomerc
~/.Rprofile
/etc/bash_bashrc
/etc/profile
/etc/screenrc
/etc/
のファイルはユーザー固有であるのに対し、$HOME
のファイルはすべてのユーザーで機能することを確認します。また、ログイン時に.profile
が読み込まれるのに対し、.bashrc
が実行されると/bin/bash
が読み込まれることもわかりました。また、プログラムによって設定ファイルが異なることも理解しています(例:Rの場合は.Rprofile
)。しかし、私はいくつかの説明をいただければ幸いです:
*rc
ファイルと*profile
ファイルは根本的に異なりますか?.bashrc
は.settings
で設定された変数を上書きします)構成ファイルの構成は、質問が示唆するように思われるよりもはるかに均一ではありません。 「クラス」も「階層」もありません。また、グローバルな「構成ウィザード」も、一般的な構文や、求めているようなニースな一般化を決定する委員会もありません。 R
、bash
、screen
のような個別のアプリケーションは多数あり、GNOMEデスクトップ環境はすべて独自の方法で動作するため、特定のファイルに関する固有の質問に答えるために、各プログラムのドキュメントで。それがその場しのぎのように思える場合、それはそれが理由です。ほとんどのUnix/Linuxソフトウェアは、すべてわずかに異なる構成を行ったさまざまな人々によってさまざまな目的のために開発されました。
他の質問に個別に回答するには:
*rc
と*profile
はあまり意味がないため、この質問には実際には回答できません。 「rc」は、構成ファイルに一般的に使用される略語またはサフィックスにすぎません。その語源は古代(コンピューター年では)に遡り、おそらく実行コマンドを意味します( runcom から)。アプリケーションが同じWordを使用しているからといって、規則に同意しているわけではありません。 「プロファイル」は、あまり一般的ではないサフィックスです。
「スコープ」を定義します。ほとんどのアプリケーションは、他の関連しないアプリケーションと構成ファイルを共有しません。 1つの可能な例外は/etc/profile
と.profile
で、複数の異なるシェル(少なくともsh
とbash
を含む)で使用できます。実行中のすべてのプロセスに関連する environment と呼ばれるものがあります。これには、プロセスの動作に影響を与える可能性のある変数を含めることができます。通常、環境変数は、適切なシェル構成ファイル、またはおそらく使用しているグラフィカルデスクトップ環境の構成ファイルによって設定されます。 readlineの.inputrc
やGTKの.gtkrc*
のような「ライブラリ」の構成ファイルもあり、ライブラリを使用するすべてのアプリケーションに影響します。
いいえ、構成ファイルのグローバル階層はありません。再度、問題の特定のプログラムのドキュメントを参照してください。たとえば、bash
の- bash
manual です。通常信頼できる一般的な規則は、$HOME
のユーザー設定が/etc
のシステム全体の構成をオーバーライドすることです。これは通常、システムファイルの後にユーザーファイルを読み取ることで行われます。これにより、後の設定で前の設定が上書きされます。ただし、これは保証ではなく、明確な回答については、使用している特定のプログラムのドキュメントを参照してください。
「クラス」はありません。少なくとも、質問にリストしたすべてのファイルを網羅するのに十分なほど一般的なものはないので、そのような「クラス」のリファレンスの質問は疑問です。繰り返しますが、使用している特定のプログラムのドキュメントを参照してください。
この質問は、非常に多くのレベルで広すぎると思います。 1つの質問で少なくとも4異なるプログラムについて質問している。 /etc
と$HOME
の構成ファイルの違いのみを見ていきます。
Unixはマルチユーザーオペレーティングシステムです。つまり、ssh
、telnet
、またはXorg
のいずれかを使用して、さまざまな人がシステムを使用できます。ユーザーに標準化された構成を提供するために、/etc/
でシステム全体の構成を提供できます。これは通常、ディストリビューションでも使用され、たとえば、 bash
またはscreen
。
一方、一部のユーザーは、自分のプログラムの設定をキーバインド、色、外観などの独自にカスタマイズしたいと考えています。これは、$HOME
の構成ファイルを介して行われます。つまり、/etc/
はシステム全体の構成を提供しますが、$ HOMEの構成ファイルを使用すると、ユーザーはシステム全体の構成を変更/オーバーライドできます。
答えの一部は この投稿 から来ています:
.bashrc
は、インタラクティブに起動されるとBashが実行するシェルスクリプトです。
新しいログインシェルの開始時にのみ実行される.bash_profile
と.profile
を比較してください。 (bash -l)
コマンドを.bashrc
と.bash_profile
のどちらで実行するかは、コマンドを1回実行するか、対話式のシェルを開始するたびに実行するかに応じて選択します。