首页 > 系统相关 >【Linux】详解六种配置Linux环境变量的方法(以centos为例)

【Linux】详解六种配置Linux环境变量的方法(以centos为例)

时间:2023-05-19 17:13:53浏览次数:62  
标签:bin centos 为例 生效 sugerqube Linux PATH 环境变量 bash

本文时间 2023-05-19
作者:sugerqube漆瓷

本文重理解,!!忽略环境变量加载原理!!

本文目标:理解六大环境变量配置,选择合适的配置文件进行配置

配置环境的理由

shell编程为例

image

现在我们想要运行名为"sugerqube.sh"的脚本需要运行的命令是
./sugerqube.sh 即在命令行输入脚本的地址
注:./是当前目录的意思

image

同理当我们再其他目录想要运行它的时候需要打的命令就会变化

操作系统为我们提供管理名为环境变量的东西,环境变量中配置了放置这些命令的文件夹。

这样我们就能在任意地方直接使用命令完成。

类似vi,mv等常见命令其实就是
/usr/local/sbin:
/usr/local/bin:
/sbin:/bin:
/usr/sbin:
/usr/bin
等下的命令文件,所以当这些常见命令用不了的时候,大概率说明环境便量配置出问题了。

可以创建临时变量:来进行抢救,后文还会再提及。
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

image

引入一种解释方法

接下来我会用魔法咒语的概念来简述Linux如何寻找环境变量。

现在想要发动名为“watherboom”的魔法。(自定linux命令)
image

  1. 你问法杖会不会(查看临时环境变量
    会(存在临时环境变量),咒语生效
    换跟不会的法杖(新的bash窗口),咒语失效

  2. 魔杖不会,你思索自己会不会(查看用户环境变量/home/user/.bash_profile
    会(存在环境),咒语生效
    其他人不会(切换用户),咒语无法发动

  3. 你不会,你问老大会不会(查看root环境变量/etc/profile
    会(存在环境),咒语生效
    老大也不会(未配置文件),咒语无法发动

  4. 老大不会,问老天爷(查看系统环境变量/etc/environment
    会(存在环境),咒语生效
    老天爷也不会(未配置文件),咒语无法发动

因为是先问法杖,再层层向上,所以如果法杖直接回答了,无论他是否正确,都会采取法杖的方案。

以上是四个环境变量会存在的地址,那还有两个在哪?


作为魔法师,有些事不能总亲力亲为,你需要小精灵(bash脚本)帮你做事。

所以还存在你的小精灵指南(~/.bashrc)
你还可以问老大的小精灵所以有(/etc/bashrc)
这些书都是“你” 写的,所上面的魔法(命令),你也会;当你转职(非bash)你就只能拜托小精灵帮你。

注:这一段简单说明了profile和bashrc的区别,前者是全范围涵盖的,后者是针对bash的。

平时我们用的都是bash命令,所以看起来好像是bashrc>profile,实际上是他们有不同的关注点
平时我们用的都是non-login进入的bash运行现成脚本,所以看起来bashrc更有用,而profile仅登录能操作

配置环境变量的方法

方法1:配置临时环境变量

直接在命令行输入以下命令

export PATH=/home/sugerqube/bin:$PATH

/home/bin为要添加到环境变量的文件夹。
:$PATH不可省略,他的存在是将你新的环境变量地址存到原先PATH的前面。
shell基础的会知道这里的$是对PATH地址的一种引用。

同理也可以放到前面:export PATH=$PATH:/home/sugerqube/bin

注意事项:

  • 生效时间:立即生效
  • 生效期限:当前终端有效,窗口关闭后无效
  • 生效范围:仅对当前用户有效
  • 配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置

包括后文的注意事项都引用自下文,ps:原文<方法一>存在错误。
https://blog.csdn.net/xishining/article/details/119283522




方法2:配置用户bash环境变量(单用户最常用)

直接在命令行输入以下命令

cd
vi .bash

最后一行输入
export PATH=$PATH:/home/sugerqube/bin

注意事项:

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
  • 生效期限:永久有效
  • 生效范围:仅对当前用户有效
  • 如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效



方法3:配置用户环境变量

直接在命令行输入以下命令

cd
vi .bash_profile

最后一行输入
export PATH=$PATH:/home/sugerqube/bin
注意事项:同方法2,但是用户不登录也能生效(non-login 方式进入 bash 运行的命令)




方法4:配置“系统bash”环境变量(多用户最常用)

直接在命令行输入以下命令,需要权限 vi退出时wq!强制写入

sudo vi /etc/bashrc

最后一行输入
export PATH=$PATH:/home/sugerqube/bin

注意事项:

  • 生效时间:新开终端生效,或者手动source /etc/bashrc生效
  • 生效期限:永久有效
  • 生效范围:对所有用户有效



方法5:配置“系统”环境变量

直接在命令行输入以下命令,需要权限 vi退出时wq!强制写入

sudo vi /etc/profile

最后一行输入
export PATH=$PATH:/home/sugerqube/bin
注意事项:同方法4,但是用户不登录也能生效(non-login 方式进入 bash 运行的命令)




方法6:配置环境变量

直接在命令行输入以下命令,需要权限 vi退出时wq!强制写入

sudo vi /etc/environment

最后一行输入
export PATH=$PATH:/home/sugerqube/bin

注意事项:通方法5。




以上就是个人对六中环境变量配置的理解

标签:bin,centos,为例,生效,sugerqube,Linux,PATH,环境变量,bash
From: https://www.cnblogs.com/sugerqube/p/17414900.html

相关文章

  • linux 添加系统服务(zookeeper举例)
    zookeeper添加系统服务1、vi /etc/systemd/system/zookeeper.service 添加服务[Unit]Description=zookeeperAfter=network.target[Service]Type=forkingEnvironment=JAVA_HOME=/var/local/jdk1.8.0_371ExecStart=/data/apache-zookeeper-3.7.1-bin/bin/zkServer.shs......
  • linux 各种trace工具
    1、bpf2、bpftrace3、strace  可以查看进程程序的IO调用情况,比如进程有哪些IO调用,花费了多长时间等等。可以定位进程慢、驱动慢等问题   Outputformat:      -acolumnalignmentCOLUMNforprintingsyscallresults(default40)   ......
  • linux(RK3308)添加CH9434(SPI串口扩展)驱动
    linux(RK3308)添加CH9434(SPI串口扩展)驱动1、CH9434驱动下载https://www.wch.cn/downloads/CH9434EVT_ZIP.html2、驱动移植2.1、移植准备1、查看系统是否支持DTS设备树支持,若支持DTS可以直接在DTS文件中定义SPI节点。如下所示:&spi2{status="okay";max-freq=<500......
  • linux开机自启动设置
    https://blog.csdn.net/WUFUSHANLI/article/details/124419411?ops_request_misc=&request_id=&biz_id=102&utm_term=linux%E8%AE%BE%E7%BD%AEredis%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF%E5%8A%A8&utm_medium=distribute.pc_search_result.none-task-blog-2~......
  • 迅为基于RK3568开发板的嵌入式学习之Linux驱动视频
      迅为基于iTOP-RK3568开发板进行讲解,本次更新内容为第九期,主要讲解设备模型,共计29讲。思路更科学,入门更简单     0.课程规划1.抛砖引玉-设备模型的框架:kobject和kset2.实践:创建kobject实验3.实践:创建kset实验4.什么是设备模型,为什么要引入设备模型?5.对设备......
  • linux 上设置mysql开机自启
    1我们设置开机启动需要将mysql.server文件复制到/etc/rc.d/init.d/目录下mysql文件我们的mysql.server文件一般都在安装的根目录下的support-files目录下cp/usr/local/mysql/mysql/support-files/mysql.server/etc/rc.d/init.d/mysql2复制成功后我们需要给赋予权......
  • linux的软硬链接
    linux的软硬链接1.软连接,快捷方式的创建,可以快捷的指向另一个文件的特殊文件创建语法ln命令-s参数,创建符号连接,软链接,快捷方式ln -s目标文件·绝对路径  快捷方式绝对路径ln-s /data/happy.txt    /tmp/happy 此时可以查看快捷方式,找到源文件的内容了快......
  • 关于ArchLinux 在 Wayland 环境下的问题
    Wayland配置起来确实相对麻烦很多,需要注意很多细节,如果不注意就会出现问题,在这里说一下可能的现象与解决方法。根据观察,这些现象在GNOME与KDE桌面环境钟均会出现。现象App打开慢现象为当首次打开一个图形化的App时,需要等待2-3秒钟才会打开,但是如果已经有一个打开的此......
  • centos 8 安装python3
    sudodnfinstallpython3  查看版本 查看pip ......
  • linux 查看文件数量
    1查看当前目录下的文件数量(不包含子目录中的文件)这里是查看当前目录下的文件数量,也可以指定某一个目录1、ls-l|grep"^-"|wc-l;2、find./-maxdepth1-typef|wc-l;其中-maxdepth1相当于目录深度为1只有目录下的一层不会包含目录下的目录下的文件或文件夹......