/etc/profileと~/.bash_profileなどのファイルの違いと連絡

2115 ワード

本システム環境:Centos 7
/etc/profileと~/.bash_profileなどのファイルの違いと連絡
比較説明
  • /etc/profile:システムの各ユーザに環境情報と起動プログラムを設定し、ユーザが初めてログインしたときにファイルが実行され、その構成はすべてのログインしたユーザに有効である.変更された場合は、再起動する必要があります.System wide environment and startup programs,for login setup.」
  • /etc/environment:システムの環境変数、/etc/profileはすべてのユーザーの環境変数であり、前者はログインユーザーとは関係なく、後者はログインユーザーと関係があり、同じ変数が2つのファイルで衝突した場合、ユーザー環境に準拠する.
  • /etc/bashrc:bash shellを実行する各ユーザに対してファイルを実行し、bash shellが開くと、bashを使用するすべてのユーザが開く各bashに対して有効に構成されるファイルが実行されます.変更されると、再起動せずに新しいbashを開くだけで有効になります.英文の説明:“System wide functions and aliases.”
  • ~/.bash_profile:現在のユーザーに固有の環境情報と起動プログラムを設定し、ユーザーがログインしたときにファイルを1回実行します.デフォルトでは、環境変数を設定、現在のユーザを実行するために使用されます.bashrcファイル.コンセプトは/etc/profileに似ていますが、現在のユーザーにのみ有効であり、再起動する必要があります.(注:Centos 7システムは.bash_profileと名付けられています.他のシステムは.bash_loginまたは.profileである可能性があります.)
  • ~/.bashrc:現在のユーザーに固有のbash情報を設定し、新しいshellを開くたびにファイルが実行されます.コンセプトは/etc/bashrcに似ていますが、現在のユーザーにのみ有効であり、再起動する必要はありません.新しいshellを開くだけで有効です.
  • ~/.bash_logout:現在のユーザーのためにbash shellを終了するたびにファイルを実行し、クリーンアップ作業のコマンドをこのファイルに入れることができます.
  • /etc/profile.d/:このフォルダには/etc/profile以外の「アプリケーション-specific startup files」があります.英語では「The/etc/profile file sets the environment variables at startup of the Bash shell.The/etc/profile.d directory contains other scripts that contain application-specific startup files, which are also executed at startup time by the shell.” 同時に、これらのファイル"are loaded via/etc/profile which makes them a part of the bash"profile"in the same way anyway."したがって、/etc/profileの一部と簡単に理解できますが、カテゴリや機能別にいくつかのファイルに分割して構成されています(メンテナンスと理解が便利です).

  • 注意事項
  • 以上有効にするには再起動が必要なファイルは、source xxxで一時的に有効になります.
  • ファイルの実行順序は、Linuxに登録するとき、まず/etc/environmentおよび/etc/profileを起動し、次に現在のユーザディレクトリの下の~/を起動する.bash_profileは、このファイルを実行する際に一般的に~/を呼び出す.bashrcファイルを実行する、~/.bashrcでは一般的に/etc/bashrcが呼び出され、最後にshellを終了すると~/が実行する.bash_logout.簡単に言えば、順序は次のとおりです.
    (ログイン時)/etc/environment->/etc/profile(/etc/profile.d/内のファイル)->~/.bash_profile->(shellを開くとき)~/.bashrc->/etc/bashrc->(shellを終了するとき)~/.bash_logout