Linux bash配置文件解析_Linux bashrc与profile区别
发布时间 - 2025-12-23 00:00:00 点击率:次.bashrc 和 .profile(或 .bash_profile)分工明确:.profile/.bash_profile 仅登录时执行一次,负责全局环境变量;.bashrc 每次新建终端即执行,管理 alias、PS1 等交互配置;二者应合理配合,避免重复或失效。
.bashrc 和 .profile(或 .bash_profile)不是“选一个用”,而是分工明确、互相配合的两个文件。搞清它们各自什么时候执行、管什么内容,才能避免改了不生效、重复设置、环境变量丢失等问题。
登录时才跑的:.profile 或 .bash_profile
这个文件只在你真正登录系统时执行一次,比如通过 SSH 远程登录、图形界面输入密码进入桌面、或者 Ctrl+Alt+F2 切到 TTY 登录。它负责初始化整个会话的“起点环境”——比如 PATH、LANG、EDITOR、JAVA_HOME 这类影响全局行为的变量。
常见情况:
- Debian/Ubuntu 系统默认用
~/.profile,里面通常有source ~/.bashrc这行,所以它会顺带加载 .bashrc - CentOS/RHEL 默认用
~/.bash_profile,同样一般也包含source ~/.bashrc - 如果你手动创建了 .bash_profile,但没写 source ~/.bashrc,那每次新开终端就看不到你在 .bashrc 里设的 alias 或 prompt
每次开终端都跑的:.bashrc
只要你点一下“新建终端窗口”、按 Ctrl+Shift+T、或者在 shell 里再输一遍 bash,~/.bashrc 就会被重新读取。它专
管交互式、非登录 shell 的日常体验:
- 别名(alias ll='ls -l')
- Shell 提示符(PS1)
- 函数定义(比如 quickcd() { cd ~/projects/$1; })
- 局部 PATH 追加(如加个 bin 目录到当前用户路径末尾)
注意:/etc/bashrc 是系统级的 .bashrc,对所有用户生效,但普通用户一般不需要动它。
系统级配置:/etc/profile 和 /etc/profile.d/
这些是给所有用户统一兜底的配置:
-
/etc/profile在每个用户首次登录时执行,设置基础 PATH、umask、系统级变量 -
/etc/profile.d/*.sh是它的扩展机制,比如 Java、Node.js、SDK 工具链常把环境变量写在这里,便于集中管理和卸载 - 修改后不用重启系统,但新登录用户才会看到效果;已登录用户需手动
source /etc/profile或新开终端
怎么改才不踩坑?
推荐做法很直接:
- 通用环境变量(PATH、JAVA_HOME、EDITOR)写进
~/.profile或~/.bash_profile,并确保它source ~/.bashrc - 日常用的 alias、PS1、函数、小工具路径,全放在
~/.bashrc里 - 想让所有用户都有某项配置?放进
/etc/profile.d/myenv.sh,比硬改 /etc/profile 更安全、易维护 - 改完记得测试:
source ~/.bashrc看当前终端是否生效;新开一个终端验证非登录场景;SSH 登录一次验证登录场景
基本上就这些。不复杂,但容易忽略执行时机和父子关系。
# linux
# java
# centos
# js
# node.js
# node
# ubuntu
# 工具
# 环境变量
# 配置文件
# 区别
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
高端建站如何打造兼具美学与转化的品牌官网?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
海南网站制作公司有哪些,海口网是哪家的?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何注册花生壳免费域名并搭建个人网站?
如何选择可靠的免备案建站服务器?
Laravel如何实现本地化和多语言支持?(i18n教程)
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Python文件流缓冲机制_IO性能解析【教程】
Laravel如何实现API资源集合?(Resource Collection教程)
LinuxCD持续部署教程_自动发布与回滚机制
iOS UIView常见属性方法小结
如何在云服务器上快速搭建个人网站?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
C++时间戳转换成日期时间的步骤和示例代码
详解Android中Activity的四大启动模式实验简述
如何快速上传建站程序避免常见错误?
个人网站制作流程图片大全,个人网站如何注销?
Laravel怎么使用artisan命令缓存配置和视图
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel如何使用Service Container和依赖注入?(代码示例)
C++用Dijkstra(迪杰斯特拉)算法求最短路径
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
用yum安装MySQLdb模块的步骤方法
javascript日期怎么处理_如何格式化输出
如何用IIS7快速搭建并优化网站站点?
Laravel如何实现事件和监听器?(Event & Listener实战)
浅谈javascript alert和confirm的美化
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Laravel如何为API生成Swagger或OpenAPI文档
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
制作公司内部网站有哪些,内网如何建网站?
如何用搬瓦工VPS快速搭建个人网站?
linux写shell需要注意的问题(必看)
javascript基本数据类型及类型检测常用方法小结
Laravel如何使用查询构建器?(Query Builder高级用法)
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
历史网站制作软件,华为如何找回被删除的网站?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程

