Linux文件 profile、bashrc、bash_profile区别

news2024/11/20 15:30:09

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 的执行都会使用它一次。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1539691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytest运行结果解析及其改造

简介:场景假设 - 当运行pytest完成后,需要针对运行的结果进行即时的反馈,打印 PASS 或者 FAIL,及其运行失败的原因,最后将结果推送给消息机器人。 历史攻略: pytestallure安装和使用 pytest:…

AcWing 1250. 格子游戏 (并查集,坐标变换)

记录此题的目的: 明确二维的坐标可以映射到一维:在x和y都是从0开始的前提下,假如图形列数为n,(x,y)映射到一维可以写成x * n y。并查集并不好存储二维数据,如果遇到二维数据可以将其映射到一维。 Alice和Bob玩了一个…

git 上传文件夹至远端仓库的方法

上传的远端git可以是gitlab、github、gitee、gitblit或者gitCode等等 以下以GitHub为例说明: 1、登录GitHub网站(账户/密码) 2、创建一个新的空白项目(或者已有的项目)hello-world 分支是master ,这里默认即…

el-tab 如何点击不同标签触发不同函数

介绍 el-tab本身的功能是点击之后切换不同页&#xff0c;但是我希望点击不同标签就触发不同页 代码实现 <template><el-tabsv-model"activeName"type"card"class"demo-tabs"tab-click"handleClick"><el-tab-pane lab…

PTA L2-028 秀恩爱分得快

古人云&#xff1a;秀恩爱&#xff0c;分得快。 互联网上每天都有大量人发布大量照片&#xff0c;我们通过分析这些照片&#xff0c;可以分析人与人之间的亲密度。如果一张照片上出现了 K 个人&#xff0c;这些人两两间的亲密度就被定义为 1/K。任意两个人如果同时出现在若干张…

dash 初体验(拔草)

Dash简介 Dash 是一个高效简洁的 Python 框架&#xff0c;建立在 Flask、Poltly.js 以及 React.js 的基础上&#xff0c;设计之初是为了帮助前端知识匮乏的数据分析人员&#xff0c;以纯 Python 编程的方式快速开发出交互式的数据可视化 web 应用。 搭建环境 在学习 Dash 的…

深入理解Netty以及为什么项目中要使用?(七)Netty中ByteBuf详解

在Netty中&#xff0c;还有另外一个比较常见的对象ByteBuf&#xff0c;它其实等同于Java Nio中的ByteBuffer&#xff0c;但是ByteBuf对Nio中的ByteBuffer的功能做了很作增强&#xff0c;下面我们来简单了解一下ByteBuf。 下面这段代码演示了ByteBuf的创建以及内容的打印&#…

#Idea打包诺依 多模块项目遇到的问题

##诺依框架中遇到的问题 1. 打包部署出错 Please refer to /Users/zhang/code/giteeProjects/wms-ruoyi/ruoyi-generator/target/surefire-reports for the individual test results. Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [dat…

【技术栈】Redis 删除策略

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 本文封面由 凯楠&#x1f4f8; 友情提供 目录 相关传送门 前言 1. 删除策略的目标 2. 数据删除策略 2.1 定时删除 2.2 惰性删除 2.3 定期删除…

智能财务新选择!Zoho Books入选福布斯榜单,助力中小企业!

放眼全球&#xff0c;中小企业始终是经济发展的重要组成部分。然而&#xff0c;由于中小企业的规模、流程规范和资源等方面受限较多&#xff0c;从而导致其在管理及运营上存在着诸多问题。其中包括财务管理不规范、成本控制不到位、运营效率低下等&#xff0c;这些问题则直接影…

freeRTOS动态内存heap4源码分析

1 前言 随着功能安全的推广&#xff0c;动态内存分配在RTOS领域的用武之地将越来越小。但heap4毕竟是为RTOS量身打造&#xff0c;相对简单&#xff0c;作为堆内存管理的入门学习&#xff0c;仍是很不错的选择。 1.1 标准c库动态内存函数的弊端 对于标准C库的malloc和free函数&…

2024年【安全员-A证】免费试题及安全员-A证作业考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【安全员-A证】免费试题及安全员-A证作业考试题库&#xff0c;包含安全员-A证免费试题答案和解析及安全员-A证作业考试题库练习。安全生产模拟考试一点通结合国家安全员-A证考试最新大纲及安全员-A证考试真题汇…

动态规划——斐波那契问题(Java)

目录 什么是动态规划&#xff1f; 练习 练习1&#xff1a;斐波那契数 练习2&#xff1a;三步问题 练习3&#xff1a;使用最小花费爬楼梯 练习4&#xff1a;解码方法 什么是动态规划&#xff1f; 动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;&…

8个国产全能型AI写作神器,给个标题就能自动生成全文 #其他#知识分享

国外ChatGPT爆火&#xff0c;AI写作在国内也引起不小的瞩目&#xff0c;目前国内的AI写作工具少说也有几十上百个&#xff0c;要在这么多AI写作中找出适合自己的工具&#xff0c;一个一个尝试是不太现实的&#xff0c;所以今天就给大家推荐一些款AI写作工具。帮助你少走弯路&am…

递归和递推的区别

目录 1、递推 2、递归 3、结言 递归 递推 1、递推 递推就是说从初值出发后一直运算到所需的结果。 ——从已知到未知。&#xff08;从小到大&#xff09; 举一个简单的例子&#xff1a; 每天能学习一个小时的编程&#xff0c;那么一个月之后可以学到三十小时的编程知识。…

SSL加密:保护数据传输的安全盾牌

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

尝试Docker Dev Environments

无法从本地目录创建容器环境 创建的容器环境无法在VS Code打开 从官方仓库打开 结果vscode报错。fine&#xff0c;告辞。老老实实用本地环境开发。

2024公认口碑最好的洗地机有哪些?若看重清洁力,这四款最值得买

每当我们要清洁卫生时&#xff0c;是否总是感到腰酸背痛、疲劳不堪&#xff0c;甚至头昏眼花&#xff1f;地板是家中的重要门面&#xff0c;不容忽视的卫生焦点。如今&#xff0c;我们终于多了一位家务打扫的救星——家用洗地地机。一次操作&#xff0c;即可完成扫地除尘、地除…

鸿蒙ArkUI【开发移植Carbon】

项目介绍 本项目是基于开源项目[Carbon] 进行harmonyos化的移植和开发的。 移植版本&#xff1a;Branches/master 这不是单纯只是API和基本功能展示demo&#xff0c;它是最有用的自定义控件的实现&#xff0c;如设计规范中所示。 Carbon试图&#xff1a; 让事情变得更简单&…

飞桨ONNX推理部署初探

ONNX&#xff0c;全称Open Neural Network Exchange&#xff08;开放神经网络交换&#xff09;&#xff0c;是一个用于表示深度学习模型的标准&#xff0c;它定义了一组与环境、平台均无关的标准格式。这使得不同的人工智能框架&#xff0c;如飞桨、MXNet等&#xff0c;可以采用…