linux的/etc/profile、~/.profile、~/.bashrc、~./bash_profile这几个配置文件

在添加环境变量的时候,我们会去修改配置文件

如果留意过,网上博文,有些在/etc/profile文件中配置的,有些是在~./bash_profile文件中配置的,等等

那么,/etc/profile、~/.profile、~/.bashrc、~./bash_profile这几个配置文件有什么区别呢?

~/.profile ~/.bashrc和~./bash_profile

.bashrc

The individual per-interactive-shell startup file.

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)。每次修改.bashrc后,使用source ~/.bashrc就可以立刻加载修改后的设置,使之生效。一般会在.bash_profile文件中显式调用.bashrc。

登陆linux启动bash时首先会去读取/.bash_profile文件,里面会调用/.bashrc,这样/.bashrc也就得到执行了,你的个性化设置也就生效了

扫描二维码关注公众号,回复: 6036747 查看本文章

全局profile和用户下的~/.profile

用户可以在Profile文件中加入环境变量,比如JAVA_HOME...这样重新登录之后,这些环境变量都会得以设置,不用每次都手工设置。

Unix/Linux有两个profile文件

1./etc/profile:是全局profile文件,设置后会影响到所有用户

2./home/username/.profile或.bash_profile是针对特定用户的,可以针对用户,来配置自己的环境变量。

注意:profile是unix上才有的;bash_profile是Linux下有的(Linux下,用户目录没有.profile文件)

/home/username/.profile或.bash_profile,都是隐藏文件,需要使用ls -a才能看到。

Bash登陆(login)的时候,Profile执行的顺序

1)先执行全局Profile, /etc/profile

接着bash会检查使用者的HOME目录中,是否有 .bash_profile 或者 .bash_login或者 .profile,若有,则会执行其中一个,执行顺序为:

.bash_profile 最优先 > .bash_login其次 > .profile 最后

总之,就是全局或者局部,他们之间有调用关系及调用优先级 

参考:https://www.jianshu.com/p/b39fd35e2360

猜你喜欢

转载自www.cnblogs.com/UncleYong/p/10779650.html