Linux学习笔记之二(环境变量及其配置文件)

1、环境变量

环境变量(environment variables)即系统运行的一些环境参数。主要的环境变量有以下这些:

  1. PATH:决定了系统查找可执行文件的目录范围。
  2. HOME:指定当前用户的主目录路径,其实就是~目录。
  3. USER:当前用户的用户名。
  4. SHELL:指定当前用户默认使用的shell。
  5. LANG:指定系统的默认语言。
  6. LD_LIBRARY_PATH:指定系统在哪些目录中查找共享库文件。
  7. TERM:指定当前终端的类型。

而以上这些环境变量大致可以做以下区分:

  • 生命周期分为:

    • 永久的:在脚本文件中配置,永远生效。
    • 临时的:在终端里配置,仅在该终端有效。
  • 作用域分为:

    • 系统环境变量:对所有用户都生效。

    • 用户环境变量:仅对某一用户生效。

2、关于环境变量的配置文件

用户开启Linux的时候,会调用许多配置文件,其中包括一些包含环境变量的文件。所以如果想要配置环境变量,就需要去修改这些文件。

  • 对所有用户都生效的配置文件:/etc/profile 和 /etc/profile.d 文件夹
  • 对当前用户生效的配置文件:~/.bashrc 和 ~/.bash_profile

通过查看这些文件的内容可以知道,/etc/profile这个文件会去执行/etc/profile.d这个文件夹下面的所有.sh文件(脚本文件)。之后bash会按顺序的读 ~/.bash_profile , ~/.bash_login, ~/.profile 这三个文件中的一个,即如果 ~/.bash_profile 存在就不读其它两个了,以此类推,如果没有 ~/.bash_profile 文件就读 ~/.bash_login。并且 ~/.bash_profile , ~/.bash_login, ~/.profile 这三个文件,如果存在,我们一定其脚本中开到这样一个判断语句:
在这里插入图片描述
这个意味着,无论执行这三个文件中的哪一个,最后都会去执行.bashrc文件。
总结一下,对于所有用户来说,/etc/profile.d下的脚本文件是一定会被执行的。而对于当前用户来说 ~/.bashrc文件也一定会被执行。因此如果想要修改环境变量,建议修改这两个。看看以下的流程图:
在这里插入图片描述

2.1、修好PATH环境变量(用户级别)

接下来我以最常用的 P A T H PATH PATH环境变量来玩排列组合,举例如何在配置文件中修改环境变量。
先假设我的可执行文件放到 / h o m e / y u q u a n /home/yuquan /home/yuquan这个目录下,故接下来的任务就是把这个目录放进 P A T H PATH PATH的环境变量中。
1、永久的修改所有用户的环境变量
进入 /etc/profile.d文件夹。

cd /etc/profile.d

再新建一个自己的脚本文件,比如我这里取名为add_path.sh。
在这里插入图片描述
在脚本文件中添加我们想要添加环境变量,我这里添加的是我自己的用户目录,即$HOME。

export PATH=$PATH:$HOME/

在这里插入图片描述
最后重启Linux,这个环境变量就能生效了。这是因为/etc/profile这个文件是启动Linux的时候才会调用,而不是你每打开一个终端就调用一次。

2、永久的修改用户环境变量

vi ~/.bashrc

进入.bashrc文件,然后在文件尾部添加以下代码。

export PATH=$PATH:/home/yuquan

在这里插入图片描述
为使修改即可生效,可输入:

source ~/.bashrc

. ~/.bashrc

如果不输入以上语句,那么只有等你打开另一个终端的时候,该用户环境变量才会生效。因为.bashrc文件是每打开一个终端就会调用一次。
3、临时的修改所有用户环境变量
应该没这个东西。
4、临时的修改用户环境变量
直接在终端输入以下代码,即可立刻生效:

export PATH=$PATH:/home/yuquan

在这里插入图片描述
当然我们也可以通过以下命令查看所有关于 P A T H PATH PATH的环境变量:

echo $PATH

2.2、修改系统的环境变量(系统级别)

在2.1小节中,我仅介绍了针对用户而言的环境变量。但在Linux中只有通过login shell开启的shell进程会执行profile和.bashrc这些文件。那么如果我们想以non-login模式打开shell进程,又希望该shell进程有一些我们自己定制的环境变量。我们就可以修改environment文件:

vim /etc/environment

然后用以下指令或重启一个终端就可以激活该环境变量了。每次打开一个终端都会调用一次environment文件。

source /etc/environment

当然即便你用的是login shell模式开启shell进程,终端还是会调用environment文件的,因此修改environment同时适用于两种模式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__TAT__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值