bashr、bash_profile、/etc/profile、profile的作用与区别


1. .bashrc

位置:位于用户的主目录下,通常是/home/username/.bashrc。

作用:是bash shell的用户级配置文件,用于自定义终端环境和行为,如设置环境变量、别名、函数等。当bash shell被打开时,该文件会被自动读取并执行其中的命令。

特点:.bashrc文件每次打开新的bash shell时都会被读取,适用于交互式非登录shell。


2. .bash_profile

位置:同样位于用户的主目录下,如/home/username/.bash_profile。

作用:是bash shell的另一个用户级配置文件,主要用于登录shell的配置。当用户登录系统时,该文件会被执行一次,用于设置环境变量、运行启动脚本等。

特点:与.bashrc不同,.bash_profile只在用户登录时被读取一次,适用于交互式登录shell。


3. /etc/profile

位置:位于系统的/etc目录下。

作用:是系统的全局环境变量配置文件,用于设置系统级的环境变量和启动程序。对所有用户都有效。

特点:当任何用户登录系统时,/etc/profile都会被执行,用于初始化用户的环境。它还会从/etc/profile.d目录中的配置文件搜集额外的shell设置。


4. /etc/bashrc

位置:同样位于系统的/etc目录下。

作用:是系统的全局bash shell配置文件,用于存放bash shell的通用配置,如环境变量、别名、函数等。每个bash会话开始时都会被加载。

特点:与/etc/profile不同,/etc/bashrc在每次用户打开一个新的终端窗口或通过SSH远程登录时都会被执行,适用于所有用户的新bash会话。


5. .profile 和 .bash_login

位置:通常位于用户的主目录下。

作用:在某些Linux发行版中,.profile可能作为.bash_profile的替代品存在,用于设置用户级的环境变量和启动脚本。.bash_login的作用与.bash_profile类似,但优先级较低。

特点:这些文件的存在和优先级可能因不同的Linux发行版而异。例如,在Debian及其衍生版中,通常使用.profile而不是.bash_profile。

6. /etc/profile.d

7. /etc/profile.d/*.sh


以下添加【conda】为示例的环境变量:

对于单个用户(推荐方法)

打开你的.bashrc文件:

  1. nano ~/.profile

在文件的末尾添加以下行:

  1. export PATH=”/root/miniconda3/bin:$PATH

保存并关闭文件。

为了使更改立即生效,执行以下命令:

  1. source ~/.profile

查看变量:

  1. echo $PATH
bashr、bash_profile、/etc/p - 图1


对于所有用户

打开/etc/profile文件:

  1. sudo nano /etc/profile

在文件的末尾添加以下行:

  1. export PATH=”/root/miniconda3/bin:$PATH

保存并关闭文件。

为了使更改对所有用户生效,你可能需要重启系统,或者让所有用户重新登录。