profile && login && bash_profile && bashrc的区别

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 (匿名命令)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值