当系统在linux下启动时,几个配置文件/ etc / profile,〜/ .bash...

1.登录Linux时执行文件的过程如下:

当我第一次登录Linux时,

首先启动/ etc / profile文件,

然后在用户目录中启动〜/ .bash_profile,〜/ .bash_login或〜/ .profile文件之一。用户主目录中文件的执行顺序为:

〜/ .bash_profile->〜/ .bash_login->〜/ .profile。

如果存在〜/ .bash_profile文件,通常将执行〜/ .bashrc文件。

因为〜/ .bash_profile文件中通常包含以下代码:

if [ -f ~/.bashrc ] ; then
   . ./bashrc
fi

〜/ .bashrc,通常会有以下代码:

if [ -f /etc/bashrc ] ; then
   . /etc/bashrc
fi

因此,〜/ .bashrc将调用/ etc / bashrc文件。最后,退出外壳程序时,将执行〜/ .bash_logout文件。

执行顺序为:/ etc / profile->(〜/ .bash_profile |〜/ .bash_login |〜/ .profile)->〜/ .bashrc-> / etc / bashrc->〜/ .bash_logout

2.每个文件的范围解释如下:

(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

使用各种环境变量设置文件,例如/ etc / profile和/ etc / environment

1)首先将export LANG = zh_CN添加到/ etc / profile欧宝体育官方网站 ,退出系统,然后再次登录。登录提示以英文显示。

2)首先删除/ etc / profile中的export LANG = zh_CN,将LNAG = zh_CN添加到/ etc / environment,退出系统并再次登录。登录提示符显示中文。

在建立用户环境的过程中沙巴app ,始终先执行/ etc / profile,然后再读取/ etc / environment。

为什么会有如上所述的差异?而不是先执行/ etc / environmentprofile 配置文件im体育 ,然后再执行/ etc / profile?

这是因为:/ etc / environment用于设置整个系统的环境,而/ etc / profile用于设置所有用户的环境。前者与登录用户无关,后者与登录用户有关。

系统应用程序的执行可能与用户环境无关,但与系统环境有关,因此,登录时会看到提示信息,例如日期和时间信息的显示格式以及相关的系统环境,默认为LANG = en_US,如果系统环境为LANG = zh_CN,则提示信息为中文,否则为英文。

对于用户的shell初始化,首先执行/ etc / profile,然后读取文件/ etc / environment;对于整个系统,/ etc / environment首先执行。这种理解正确吗?

登录系统的顺序应为

/ etc / enviroment-> / etc / profile-> $ HOME / .profile-> $ HOME / .env(如果存在)

/ etc / profile是所有用户的环境变量

/ etc / enviroment是系统的环境变量

登录系统时读取外壳程序的顺序应为

/ etc / profile-> / etc / enviroment-> $ HOME / .profile-> $ HOME / .env

原因应该是用户环境和系统环境之间的差异。如果同一变量在用户环境(/ etc / profile)和系统环境(/ etc / environment)中具有不同的值profile 配置文件,则应基于用户环境Up。

上一篇 荧光定量PCR仪器技术及其在医学中的应用
QQ咨询
在线咨询
电话咨询