首页 > 系统相关 >Linux文件 profile、bashrc、bash_profile区别

Linux文件 profile、bashrc、bash_profile区别

时间:2023-02-20 13:23:12浏览次数:52  
标签:profile etc 用户 bashrc Linux 环境变量 bash

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

标签:profile,etc,用户,bashrc,Linux,环境变量,bash
From: https://www.cnblogs.com/henry0106/p/17137021.html

相关文章

  • 第一周学习--linux
    认识Linux学习是有多种方法的认清楚一种东西这玩意是什么能做什么怎么做怎么优化怎么实现就是一系列的五套连招把这五套连招学会了那么就是荣耀王者巅峰万强了......
  • linuxz中压缩解压缩文件
    压缩解压缩.tar格式文件:把文件打包为tar.gz命令:tar-zcvf文件名.tar.gz要压缩的文件/文件夹                     例如,把w......
  • Linux系统配置 Samba客户端
    参考:https://blog.csdn.net/m0_63624418/article/details/127856957  本文为局域网中linux和window共享文件方案——samba后续篇。 ============================......
  • Linux04
    编译工具链IDE(集成开发环境):visualstudio,clion,Eclipse,xcodeSDK(softwareDevelopmentKit):软件开发工具包GCC(GNUCCompiler)//查看gcc版本gcc-v预处理(-E)作用:......
  • linux文件夹重命名
    转载自:https://www.cnblogs.com/Hackerman/p/16057228.html====================== 通过mv命令来对一个文件夹进行重命名,把一个文件夹的名字换成新的名字。[root@shar......
  • 基于Linux的tty架构及UART驱动详解——转载
     一、模块硬件学习1.1.Uart介绍通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter),通常称为UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传......
  • Linux-485收发切换延迟的解决方法 ——转载
     【前言】本文引用各种资料甚多,而引用出处标明并不详细,若有侵权,请联系删除。转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10381616.html一、问题描述R......
  • 10. 操作系统和Linux
    进程和线程的区别线程是进程划分成的更小的运行单位,一个进程在其执行的过程中可以产生多个线程。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同......
  • linux 和 windows下计算文件的MD5/SHA256/SHA1值
    一、Windows在命令行下,可以使用Windows自带的certutil命令来计算一个文件的校验值:certutil支持的算法有:MD2MD4MD5SHA1SHA256SHA384SHA512。certutil的使用方法非常......
  • Windows下使用Visual Studio + WSL2开发Linux项目之环境部署
    一、下载安装VisualStudio1.1下载地址推荐下载VisualStudio2022预览版,64位架构,速度更快VisualStudio2022预览版VisualStudio2022VisualStudio2019选择c......