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

本文详细解析了在Linux和Unix系统中,如何通过不同的配置文件如/etc/profile、~/.profile、~/.bashrc和~/.bash_profile来设置环境变量。阐述了它们之间的区别、执行顺序以及如何生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

如果留意过,网上博文,有些在/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也就得到执行了,你的个性化设置也就生效了

 

全局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

 

转载于:https://www.cnblogs.com/uncleyong/p/10779650.html

Linux系统中,环境配置文件的管理和使用对于系统行为的定制和用户的使用体验至关重要。这些配置文件包括:/etc/profile、/etc/bashrc~/.bash_profile~/.bashrc,它们各自承担着不同的职责,同时也相互关联,共同构成了Linux用户环境的配置框架。 参考资源链接:[Linux环境配置详解:/etc/profile、/etc/bashrc~/.bash_profile~/.bashrc](https://wenku.csdn.net/doc/64978c664ce2147568bcde12?spm=1055.2569.3001.10343) /etc/profile是一个系统级的配置文件,为所有用户定义了全局的环境变量和shell初始化设置。当用户登录到系统时,/etc/profile会被执行,它是所有用户登录过程中的第一个被执行的脚本。这个文件通常会加载/etc/profile.d目录下的其他配置文件,从而允许系统管理员为所有的用户设置共同的环境变量和功能。 /etc/bashrc,或在某些系统中称为/etc/bash.bashrc,是另一个系统级的配置文件,它主要针对bash shell提供初始化设置,无论用户是以哪种方式启动bash shell,该文件都会被读取。这里可以设置一些bash特有的配置,比如别名和函数,这些配置会影响所有用户的bash环境。 ~/.bash_profile是用户的个人配置文件,它主要在用户登录时执行,设置那些对单个用户有意义的环境变量,比如PATH和MANPATH。这个文件通常也会读取用户的~/.bashrc文件,将个人的设置应用于用户的所有bash shell会话中。 ~/.bashrc是用户个人的bash会话配置文件,无论用户是否登录,每次打开新的bash shell时都会执行这个脚本。它主要用于设置用户特有的环境变量和定义别名、函数等。 这些文件之间的关系可以通过登录和非登录shell的不同情况来理解。对于登录shell,首先是/etc/profile被读取,接着是用户的~/.bash_profile~/.bash_login,最后是~/.bashrc。而对于非登录shell,只有/etc/bashrc~/.bashrc会被读取,通常是在打开新的终端窗口时。 正确地理解和配置这些文件,可以帮助用户和系统管理员根据需要定制和优化Linux环境,无论是全局的还是个人的shell设置。为了深入学习这些环境配置文件的细节和实际操作,建议阅读《Linux环境配置详解:/etc/profile、/etc/bashrc~/.bash_profile~/.bashrc》这篇文章,它提供了详细的解释和实用的示例,有助于读者掌握如何有效地管理和使用这些配置文件。 参考资源链接:[Linux环境配置详解:/etc/profile、/etc/bashrc~/.bash_profile~/.bashrc](https://wenku.csdn.net/doc/64978c664ce2147568bcde12?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值