profile && login && bash_profile && bashrc的区别
2010-04-03 12:53
239 查看
1./etc/profile
和用户主目录下的配置文件
用户登陆到
shell
时,
shell
会执行一系列初始化动作,其中就包括读取配置文件,然后根据配置文件设置环境信息。这样用户就可以很方便地在环境中加入自定义信息,如设置环境变量。事实上,登陆
shell
会读两配置个文件,
/etc/profile
文件和用户主目录下的配置文件,这两个文件的区别是:
/etc/profile
文件
:为系统的每个用户设置环境信息,对所有用户的登陆
shell
都有效;
用户主目录下的配置文件
:为当前用户设置环境信息,仅对当前用户的登陆
shell
有效;
2.用户主目录下有哪些配置文件
用户主目录下的配置文件有
.profile,
.login, .bash_profile, .bash_login
。不同的登陆
SHELL
用不同的配置文件,具体为:
Bourne
Shell (sh)
:使用
.profile
文件;
Korn
Shell (ksh)
:兼容
sh
,也使用
.profile
文件;
C
Shell (csh)
:使用
.login
文件;
Bourne
Again Shell
(
bash
)
:
bash
被设计成兼容
sh
,
ksh
,并有
csh
的特征
,
所以会在用户的主目录下依次查找
.bash_profile
,
.bash_login
,
.profile
文件,并用找到的第一个作为自己的配置文件;
bash
查找这些同义文件的好处是,如果曾经用过
Bourne shell
,你可以保留它,如果需要加入特定的
bash
命令,可以将它们放入
.bash_profile
中并在后面跟一条命令
source .profile
。登录时,所有特定的
bash
命令均被执行,然后
bash
将会调用
.profile
,执行其保留的命令。即使决定仍使用
Bourne shell
,也不必修改已存在的文件,类似的方法也可以用于
.bash_login
和
C shell
的
.login
,但由于这些
shell
基本语法的差异性,这不是一个好主意。
需要注意的是:经过编辑的
.bash_profile
文件,直到退出再次登录,该文件被重新读取后,
.bash_profile
中的内容才会生效。
2.Bash
Bash
的设计考虑的场景比较齐全,所以除了上面的几个配置文件外,还有如下几个配置文件:
~/.bash_logout
文件
:每次登录
shell
退出时文件
.bash_logout
被读取并执行,它提供了定制用户环境的功能,如删除帐号内的临时文件或记录登录系统所花的时间;
~/.bashrc
文件
:
.bash_profile
只被登录
shell
读取并执行,如果你在命令行上键入
bash
启动一个新的
shell
,这个新
shell
读取的是
.bashrc
而不是
.bash_profile
,将登录
shell
和运行一个子
shell
所需的配置文件分开可以获得非常灵的配置策略,从而满足不同的应用场景;
/etc/bashrc
文件
:和
~/.bashrc
的含义一样,只不过适用于所有的用户;
事实上,很多情况下某些配置文件是一样的,比如
.bashrc
和
.bash_profile
,这时只需要在一个配置文件中执行另外一个配置文件就可以了,例如
source .bashrc
,或
..bashrc
(匿名命令)。
和用户主目录下的配置文件
用户登陆到
shell
时,
shell
会执行一系列初始化动作,其中就包括读取配置文件,然后根据配置文件设置环境信息。这样用户就可以很方便地在环境中加入自定义信息,如设置环境变量。事实上,登陆
shell
会读两配置个文件,
/etc/profile
文件和用户主目录下的配置文件,这两个文件的区别是:
/etc/profile
文件
:为系统的每个用户设置环境信息,对所有用户的登陆
shell
都有效;
用户主目录下的配置文件
:为当前用户设置环境信息,仅对当前用户的登陆
shell
有效;
2.用户主目录下有哪些配置文件
用户主目录下的配置文件有.profile,
.login, .bash_profile, .bash_login
。不同的登陆
SHELL
用不同的配置文件,具体为:
Bourne
Shell (sh)
:使用
.profile
文件;
Korn
Shell (ksh)
:兼容
sh
,也使用
.profile
文件;
C
Shell (csh)
:使用
.login
文件;
Bourne
Again Shell
(
bash
)
:
bash
被设计成兼容
sh
,
ksh
,并有
csh
的特征
,
所以会在用户的主目录下依次查找
.bash_profile
,
.bash_login
,
.profile
文件,并用找到的第一个作为自己的配置文件;
bash
查找这些同义文件的好处是,如果曾经用过
Bourne shell
,你可以保留它,如果需要加入特定的
bash
命令,可以将它们放入
.bash_profile
中并在后面跟一条命令
source .profile
。登录时,所有特定的
bash
命令均被执行,然后
bash
将会调用
.profile
,执行其保留的命令。即使决定仍使用
Bourne shell
,也不必修改已存在的文件,类似的方法也可以用于
.bash_login
和
C shell
的
.login
,但由于这些
shell
基本语法的差异性,这不是一个好主意。
需要注意的是:经过编辑的
.bash_profile
文件,直到退出再次登录,该文件被重新读取后,
.bash_profile
中的内容才会生效。
2.Bash
的其他几个配置文件
Bash的设计考虑的场景比较齐全,所以除了上面的几个配置文件外,还有如下几个配置文件:
~/.bash_logout
文件
:每次登录
shell
退出时文件
.bash_logout
被读取并执行,它提供了定制用户环境的功能,如删除帐号内的临时文件或记录登录系统所花的时间;
~/.bashrc
文件
:
.bash_profile
只被登录
shell
读取并执行,如果你在命令行上键入
bash
启动一个新的
shell
,这个新
shell
读取的是
.bashrc
而不是
.bash_profile
,将登录
shell
和运行一个子
shell
所需的配置文件分开可以获得非常灵的配置策略,从而满足不同的应用场景;
/etc/bashrc
文件
:和
~/.bashrc
的含义一样,只不过适用于所有的用户;
事实上,很多情况下某些配置文件是一样的,比如
.bashrc
和
.bash_profile
,这时只需要在一个配置文件中执行另外一个配置文件就可以了,例如
source .bashrc
,或
..bashrc
(匿名命令)。
相关文章推荐
- .profile,.login,.bash_profile和.bashrc的区别
- 配置文件.profile,.login,.bash_profile和.bashrc的区别
- Linux中profile、bashrc、bash_profile之间的区别和联系
- Linux中profile、bashrc、bash_profile之间的区别和联系
- .bash_profile和.bashrc的区别(如何设置生效)
- Linux中profile、bashrc、bash_profile之间的区别和联系
- profile bashrc bash_profile之间的区别和联系
- 关于“.bash_profile”和“.bashrc”区别的总结
- Linux环境配置文件 /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc的区别
- .bash_profile和.bashrc的区别(如何设置生效)
- Linux中profile、bashrc、bash_profile之间的区别和联系
- .bash_profile和.bashrc的区别(如…
- .bash_profile和.bashrc的区别(如何设置生效)
- Linux中profile、bashrc、bash_profile之间的区别和联系
- .bash_profile和.bashrc的什么区别
- .bash_profile和.bashrc的什么区别,linux的几个环境配置文件的区别
- 【.bash_profile 与 .bashrc 的区别】
- profile、bashrc、bash_profile区别
- .bash_profile和.bashrc的区别(如何设置生效)
- profile bashrc bash_profile 之间的区别和联系