登录启动shell时候调用的几个配置文件简单总结


登录启动shell时候调用的几个配置文件简单总结
 
最近接手一台服务器,用root登录以后,感觉设置的bash shell环境特别不舒服,就想改改,结果一看发现,都是写在/etc/profile文件中的了。所以就总结了一下,启动一个bash,主要会调用哪些文件,如果要配置自己的bash环境的话,应该修改什么文件,不应该修改什么文件。
      当用户输入帐号密码登录一个用户终端的时候,那么,首先,系统会读取文件/etc/profile,加载其中的配置,/etc/profile这个文件又会调用几个文件,包括/etc/sysconfig/i18n这个文件用来设置终端的语言信息,/etc/inputrc这个文件主要设置终端的输入方式,比如Ctrl+C之类的情况,还有一个比较重要的就是/etc/profile.d/目录下的脚本文件,那么如果真的需要修改一些全局的bash环境的话,最好是将环境写成一个shell脚本,放在/etc/profile.d/目录中,那么登录的时候,/etc/profile会自动去调用。
      那么,上面说到的是用户登录的时候 ,执行的全局文件,那么在自己的家目录下,还会执行个人的shell配置文件,主要有.bash_profile,.bash_login,.profile这三个文件,一般情况下,你的家目录下应该只有.bash_profile这个文件,因为系统只执行这三个文件中的一个,如果没有找到.bash_profile,才会继续搜索.bash_login,没有的话,搜索.profile。
      用vim编辑器打开.bash_profile,可以看到,这个文件又会调用~/.bashrc这个文件,可以看到一些alias设置,所以,如果你需要设置你自己个人的一些alias和一些环境变量的时候,强烈建议写在这个文件中或者~/.bash_profile中。但是还是写在~/.bashrc中比较好,为什么呢?因为有一种情况,比如你在X window下,直接开启一个命令行终端的话,是不用输入帐号密码登录的,都有印象吧,那么在这个情况下,实际上是不会去读取/etc/profile,~/.bash_profile这些文件的,而是直接读取./bashrc这个文件,所以,如果你想你的环境设置在任何时候都有效的话,建议写入这个文件。
     最后再提一点,那么看~/.bashrc这个文件中的内容,可以看到,这个文件其实还会调用/etc/bashrc文件的内容,用vim打开/etc/bashrc这个文件看看,会发现在这个文件的最后又会调用/etc/profile.d/里面的sh文件,呵呵,很有趣吧~~~其实Linux中很多都是这样,最后都是殊途同归,到一个文件中。

相关内容

    暂无相关文章