Linux中环境变量存放文件

本文详细介绍了Linux系统中环境变量的管理和配置方法,包括系统级和用户级环境变量的区别及对应的配置文件。针对不同需求提供了具体的修改建议。
Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。
所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:

1.系统级:
(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。

~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到

~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。

通过上面的文件介绍,就能明白我们需要设置环境变量的时候,需要修改什么文件,要想对所有的用户生效,那就需要设置系统级的环境变量。反之,需要修改用户级的文件(最好是修改.profile文件,理由上面已经讲了)。

另外,我使用的是Ubuntu10.04,之前在查找资料设置用户级环境变量的时候,有资料说要修改~.bash_profile文件,但是在ubuntu10.04系统中是没有该文件。经查找,在ubuntu官网[2]上找到了这个文件的说明:

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default.

意思应该是说当这个文件存在时,在登录shell时会读取./bash_profile文件,而不是.profile文件。我认为该文件实现的目的 跟.profile文件是一样的,当查找的资料中需要你修改.bash_profile文件,但却你没有该文件的时候,也可以修改.profile来完成 实现。


### Linux 环境变量配置文件路径 在 Linux 系统中,环境变量可以通过多种方式设置和存储。以下是常见的几种配置文件及其作用: #### 1. 用户级配置文件 这些文件用于为特定用户配置环境变量。 - **`~/.bashrc` 文件** 这是一个常用的用户级配置文件,在每次启动新的交互式 shell 时会被读取并执行[^1]。它适用于大多数桌面环境下的终端会话。 - **`~/.profile` 文件** 此文件通常在用户登录系统时被加载一次。它是 POSIX 标准的一部分,因此具有较高的兼容性。 - **`~/.bash_profile` 文件** 如果此文件存在,则优先于 `~/.profile` 被加载。主要用于 Bash 登录 shell 的初始化过程。 #### 2. 系统级配置文件 这些文件影响整个系统的环境变量设置。 - **`/etc/environment` 文件** 它是一个简单的键值对文件,不支持复杂的脚本逻辑。当用户登录时,该文件中的变量会被自动加载。 - **`/etc/profile` 文件** 这是 Linux 系统上的全局主环境变量文件,所有用户登录后都会加载其中的内容[^2]。它可以包含更复杂的脚本命令来动态调整环境变量。 - **`/etc/bashrc` 或 `/etc/bash.bashrc` 文件** 类似于用户的 `.bashrc` 文件,但它应用于所有的 bash shell 实例。某些发行版可能将其命名为 `/etc/bash.bashrc`。 #### 3. 自定义脚本目录 - **`/etc/profile.d/` 目录** 存放一系列可选的自定义脚本,每个脚本都可以独立地扩展或修改环境变量。这种方法的优点在于无需重复编辑多个地方即可实现跨用户的统一管理[^3]。 #### 查看已有的环境变量 可以使用以下命令查看当前有效的环境变量: ```bash printenv ``` 或者针对某个具体变量名查询其值: ```bash echo $VARIABLE_NAME ``` 通过上述介绍可以看出不同层次上有哪些主要位置用来设定Linux里的环境参数,并且了解到了像 /etc/profile.d/ 这样的特殊机制可以帮助简化多账户间的同步需求[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值