news 2026/3/17 2:32:39

Linux文件 profile、bashrc、bash_profile区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux文件 profile、bashrc、bash_profile区别

Linux系统中,有三种文件 出现的非常频繁,那就是 profile、bash_profile、bashrc

文件。

1、profile

作用

profile,路径:/etc/profile,用于设置系统级的环境变量

和启动程序,在这个文件下配置会对所有用户生效。

当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置。

在profile中设置环境变量

一般不建议/etc/profile文件中添加环境变量,因为在这个文件中添加的设置会对所有用户起作用。

当必须添加时,我们可以按以下方式添加:

如,添加一个 HOST 值为xx.cn的环境变量:

export HOST=xx.cn

添加时,可以在行尾使用;号,也可以不使用。

一个变量名可以对应多个变量值,多个变量值需要使用:进行分隔。

添加环境变量后,需要重新登录才能生效,也可以使用 source 命令强制立即生效:

source /etc/profile

查看是否生效可以使用 echo 命令:

$ echo $HOST xx.cn

2、bashrc

bashrc 文件用于配置函数或别名。bashrc 文件有两种级别:

  • 系统级
  • 用户级

系统级

系统级的位于/etc/bashrc,对所有用户生效。

用户级

用户级的位于~/.bashrc,仅对当前用户生效。

bashrc 文件只会对指定的 shell 类型起作用,bashrc 只会被 bash shell 调用。

3、bash_profile

bash_profile只对单一用户有效,文件存储位于~/.bash_profile,该文件是一个用户级的设置,可以理解为某一个用户的 profile 目录下。

这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。

和 profile 文件类似,bash_profile 也会在用户登录(login)时生效,也可以用于设置环境变理。

但与 profile 不同,bash_profile 只会对当前用户生效。

4、差异总结

这三种文件类型的差异用一句话表述就是:

/etc/profile/etc/bashrc是系统全局环境变量设定;

~/.profile~/.bashrc用户家目录下的私有环境变量设定。

当登入系统时候获得一个 shell 进程时,其读取环境设定档如下:

  • 首先读入全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d/etc/inputrc
  • 根据不同使用者帐号,于其家目录内读取~/.bash_profile
  • 读取失败则会读取~/.bash_login
  • 再次失败则读取~/.profile(这三个文档设定基本上无差别,仅读取上有优先关系);
  • 最后,根据用户帐号读取~/.bashrc

至于~/.profile~/.bashrc都具有个性化定制功能,但~/.profile可以设定本用户专有的路径、环境变量等,它只能登入的时候执行一次。

~/.bashrc也是某用户专有设定文档,可以设定路径、命令别名,每次 shell script 的执行都会使用它一次。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 12:59:53

Caesium图片压缩器高级配置指南:掌握核心组件与优化技巧

Caesium图片压缩器高级配置指南:掌握核心组件与优化技巧 【免费下载链接】caesium-image-compressor Caesium is an image compression software that helps you store, send and share digital pictures, supporting JPG, PNG and WebP formats. You can quickly r…

作者头像 李华
网站建设 2026/3/14 1:42:24

ArchiMate企业架构建模工具终极指南:从零基础到高效应用

ArchiMate企业架构建模工具终极指南:从零基础到高效应用 【免费下载链接】archi Archi: ArchiMate Modelling Tool 项目地址: https://gitcode.com/gh_mirrors/arc/archi 还在为复杂的业务流程梳理而头疼吗?企业架构设计往往涉及多个层面、多种元…

作者头像 李华
网站建设 2026/3/10 16:47:47

RePKG终极指南:简单快速提取Wallpaper Engine壁纸资源

RePKG终极指南:简单快速提取Wallpaper Engine壁纸资源 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 想要获取Wallpaper Engine中精美壁纸的原始素材吗?ReP…

作者头像 李华
网站建设 2026/3/14 10:29:59

Freeze:揭秘EDR绕过的技术原理!你的安全防护真的可靠吗?

还在担心你的端点防护系统被轻易绕过吗?Freeze来了!这款创新的Payload工具包专为研究EDR安全控制机制而生,通过进程挂起、直接系统调用等技术,让Shellcode执行过程更加隐秘。想知道它是如何做到的吗?跟着我们一起探索吧…

作者头像 李华
网站建设 2026/3/11 11:36:37

几何美学的代码艺术:Hubot Sans如何重新定义数字排版

几何美学的代码艺术:Hubot Sans如何重新定义数字排版 【免费下载链接】hubot-sans Hubot Sans, a variable font from GitHub 项目地址: https://gitcode.com/gh_mirrors/hu/hubot-sans 在数字时代的视觉语言中,技术字体正经历一场静默的革命。当…

作者头像 李华
网站建设 2026/3/13 10:35:25

C++23标准完全指南:专业离线技术文档与开发手册

C23标准完全指南:专业离线技术文档与开发手册 【免费下载链接】CC中文参考手册C23标准离线chm最新版 欢迎使用C/C中文参考手册,这是一份专为C程序员精心准备的离线学习及工作必备资料。本手册基于C23标准设计,覆盖了从基础到高级的所有核心概…

作者头像 李华