最近接手一台服务器,用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中很多都是这样,最后都是殊途同归,到一个文件中。
最后,祝大家玩的开心,学的愉快~~~
william2011 于 2014-07-28 21:34:00发表:
学习了
dddxxxlll8888 于 2014-02-17 20:10:56发表:
学习试验中,谢了!
chushihua 于 2014-01-12 21:02:16发表:
路过!!!
不发表意见……
asd001897 于 2013-10-16 20:55:33发表:
好东西mark一下
seve5r 于 2013-10-05 23:12:06发表:
我是新人来学习学习!!!
seve5r 于 2013-10-05 23:11:46发表:
很专业
jijinlong 于 2013-09-05 14:30:17发表:
祝大家玩的开心,学的愉快
qwer5111 于 2013-08-20 16:36:25发表:
学习了
tuonioooo 于 2013-03-19 13:42:26发表:
收下了
12700696 于 2012-12-25 10:33:51发表:
登录启动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中很多都是这样,最后都是殊途同归,到一个文件中。
最后,祝大家玩的开心,学的愉快~~~
gky2011514 于 2012-12-11 15:18:33发表:
恩~
gky2009514 于 2012-12-07 11:20:54发表:
新手完成任务,求下书籍~
郝天翔001 于 2012-11-14 23:22:25发表:
{:2_91:}
majorlhzh 于 2012-11-10 17:25:09发表:
看了,在试,有收获谢谢楼主
Sucre_Yang 于 2012-10-31 15:24:00发表:
很专业 ,对理解很有用
Growth兆 于 2012-10-10 09:35:44发表:
感谢静静飞舞的分享,本贴加入到论坛的Linux应用贴中
Creation 于 2012-10-09 21:22:06发表:
很专业