首页 > 系统相关 >linux环境变量(转载)

linux环境变量(转载)

时间:2023-12-18 15:22:38浏览次数:30  
标签:profile linux 用户 Linux PATH 转载 环境变量 bash

阅读目录
一、Linux 环境变量介绍
1.1 Linux 环境变量介绍
1.2 Linux 环境变量分类
1.3 Linux 常用的环境变量
二、Linux 查看环境变量
三、Linux 添加环境变量
3.1 添加系统级环境变量(需root权限、针对所有用户、永久生效)
3.2 添加用户级环境变量
3.3 SSH/串口终端临时添加环境变量
四、Linux 删除环境变量
4.1 永久删除环境变量
4.2 使用unset删除指定的环境变量
4.3 删除PATH环境变量指定值
五、修改环境变量配置文件后生效
八、其他资料
一、Linux 环境变量介绍
1.1 Linux 环境变量介绍
Linux环境变量(超详细)
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,是操作系统为了满足不同的应用场景预先在系统内预先设置的一大批全局变量。

环境变量分类

按生命周期分:
永久的:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。
临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。
按作用域分:
系统环境变量:公共的,对全部的用户都生效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。


1.2 Linux 环境变量分类
在Linux系统中,环境变量可以分为以下几类:

系统级环境变量:
系统级环境变量对所有用户和进程都可见。它们通常在系统启动时被设置,并被所有用户和进程共享。一些常见的系统级环境变量包括PATH(用于指定可执行文件的搜索路径)、LANG(用于设置系统语言环境)等。

用户级环境变量:
用户级环境变量是每个用户独立设置的,只对该用户及其相关进程可见。这些变量可以在登录时通过不同的配置文件(如.bashrc、.bash_profile、.profile等)设置。常见的用户级环境变量包括HOME(指定用户的主目录路径)、USER(当前用户名)等。

进程级环境变量:
进程级环境变量是由特定进程设置的,并且仅对该进程及其子进程可见。这些变量可以通过编程语言(如C语言中的setenv函数)在程序中进行设置,或者通过终端命令行在特定的进程上下文中设置。

需要注意的是,系统级环境变量和用户级环境变量通常是通过配置文件进行设置和管理的。对于系统级环境变量,常见的配置文件包括/etc/profile和/etc/environment。对于用户级环境变量,常见的配置文件包括用户的个人配置文件(如.bashrc、.bash_profile、.profile等)。

每个环境变量都有其特定的作用和范围,根据需要进行适当的设置和管理。

1.3 Linux 常用的环境变量
在Linux系统中,有许多常用的环境变量,这些环境变量可以影响系统的行为和配置。以下是一些常见的Linux环境变量:

PATH:决定了系统在哪些目录中查找可执行文件。当你输入一个命令时,系统会在PATH中定义的目录中查找该命令的可执行文件。

HOME:指定当前用户的主目录路径。

USER:当前用户的用户名。

SHELL:指定当前用户默认使用的shell。

LANG:指定系统的默认语言。

LD_LIBRARY_PATH:指定系统在哪些目录中查找共享库文件。

TERM:指定当前终端的类型。

PS1:定义命令行提示符的格式。

PS2:定义多行命令的提示符的格式。

这只是一些常见的环境变量,实际上还有很多其他的环境变量可以用来配置系统的行为和程序的运行。你可以使用printenv、env或者echo命令来查看当前系统中定义的所有环境变量。例如,使用printenv命令可以列出所有环境变量及其对应的值。

例如,要查看PATH环境变量的值,可以使用以下命令:

echo $PATH
1
希望这些信息对你有所帮助!如果你有其他问题,请随时提问。

二、Linux 查看环境变量
显示当前用户的所有环境变量
printenv
# 或
env
1
2
3
查看指定环境变量
echo $PATH 或者 echo $HOME 或者 echo $USER
1
使用set查看所有本地定义的环境变量。
三、Linux 添加环境变量
3.1 添加系统级环境变量(需root权限、针对所有用户、永久生效)
vim /etc/profile
export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"
source /etc/profile
1
2
3
注:一般只有root用户才有编辑权限;

3.2 添加用户级环境变量
在用户的家目录(~)下,当使用 Bash shell 时,系统会自动加载以下文件(如果存在):

.bash_profile:这是在登录时加载的主要文件。通常用于设置用户的个人环境变量和启动脚本。

.bash_login:如果 .bash_profile 不存在,则会尝试加载此文件。

.profile:如果 .bash_profile 和 .bash_login 都不存在,则会尝试加载此文件。这是一个通用的配置文件,适用于多种类型的 shell。

.bashrc:这是在每次打开新的终端窗口时加载的文件。它包含了用户定义的别名、函数、自定义环境变量等。

通常情况下,用户可以在.bash_profile、.bash_login 或 .profile
文件中设置一些全局的环境变量和启动脚本,而在.bashrc 文件中设置一些特定于 Bash 的配置和个人设置。

请注意,这是默认的行为,具体的加载顺序可能会受到系统配置的影响。

在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

例如:编辑guok用户目录(/home/guok)下的.bash_profile

vi /home/guok/.bash.profile

v ~/.bash.profile
1
2
3
添加如下内容:

export CLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib
1
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

3.3 SSH/串口终端临时添加环境变量
直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,

该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,

shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

1、可用 export 命令查看PATH值

export
1
2、单独查看PATH环境变量,可用:

echo $PATH
1
3、添加PATH环境变量(临时),可用:

export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
1
上述方法的PATH 在终端关闭 后就会消失。

四、Linux 删除环境变量
要删除Linux环境变量,您可以选择临时删除或永久删除。

4.1 永久删除环境变量
永久删除环境变量:

编辑配置文件:要永久删除环境变量,您需要编辑适当的配置文件,并将其从文件中删除。具体的配置文件取决于您要删除的是系统环境变量还是用户环境变量。

如果要删除系统环境变量,需要使用root用户权限编辑/etc/environment文件。在该文件中,找到并删除相应的环境变量。
如果要删除用户环境变量,需要编辑/.bashrc、/.bash_profile或~/.profile文件(根据您使用的Shell)并删除相应的环境变量。
例如,如果要删除名为VAR的环境变量,可以使用文本编辑器打开适当的文件,找到VAR并将其删除。保存文件后,系统会在下次启动时生效。

注意:修改这些配置文件可能需要root权限或适当的用户权限(系统级配置文件要root权限、用户级不需要)。

4.2 使用unset删除指定的环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

export TEST="Test..." #增加一个环境变量TEST
env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
unset TEST #删除环境变量TES
env|grep TEST #此命令没有输出,证明环境变量TEST已经删除
1
2
3
4
5
4.3 删除PATH环境变量指定值
Linux环境变量PATH的增添和删除操作
五、修改环境变量配置文件后生效
针对修改的配置文件执行:source ~/.bashrc 当前终端和新连接的终端自动生效。
针对已连接的终端:执行上面命令 或者 exec bash
八、其他资料
执行多次source /etc/profile之后,打印PATH的值会出现重复:重新登录查看即可。
Linux下查看和添加环境变量
https://www.cnblogs.com/qiuhong10/p/7815943.html

https://blog.csdn.net/ken2232/article/details/132026494
Linux基础-查看和设置环境变量

标签:profile,linux,用户,Linux,PATH,转载,环境变量,bash
From: https://www.cnblogs.com/okyihu/p/17911316.html

相关文章

  • Linux 安装 Harbor Docker镜像仓库&&远程访问
    Harbor是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。下面介绍如何在Linux安装并且使用cpolar内网穿透工具实现远程访问Har......
  • linux 使用 mwget 实现多线程下载
    mwget和curl/multicurl一样,m就是multi多线程的意思。mwget是wget的升级版,支持多线程下载【使用方法】gitclonehttps://github.com/rayylee/mwget.gitcdmwgetyum-yinstallpkg-configyum-yinstalllibssl-devyum-yinstallintltool./configuremake&&makeins......
  • Linux命令(138)之xzcat
    linux命令之xzcat1.xzcat介绍linux命令xzcat是用来查看xz结尾的压缩文件2.xzcat用法xzcat[参数]filenamexzcat参数参数说明-c将文件内容写到标准输出-f强制覆盖输出文件和压缩链接-t测试文件的完整性-l列出xz文件的信息-V查看xzcat版本3.实例3.1.将文件内容写到标准输出命......
  • Linux内核中的同步机制
    Linux内核中的同步机制是用来确保在多任务、多处理器环境下的并发操作的正确性和一致性。以下是一些主要的同步机制:原子操作:原子操作是不可分割的操作,也就是说,它们在执行过程中不会被中断。这对于保护共享数据非常关键,特别是在多处理器环境中。信号量(Semaphore):信号量是......
  • linux安装nginx
    安装依赖//一键安装四个依赖环境yum-yinstallgcczlibzlib-develpcre-developensslopenssl-devel上传压缩包并解压上传nginx压缩包到/usr/local/nginx目录下tarxvfnginx-1.24.0.tar.gz安装nginxcdnginx-1.24.0#指定nginx安装的目录./configure--prefix......
  • Linux服务器快速安装MongoDB-5.0
    最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到MongoDB,就在自己服务器上进行了安装,特此记录下。环境说明:阿里云ECS,2核8G,X86架构,CentOS7.9操作系统。选择版本1.打开MongoDB社区版下载页面,选择我们想要安装的版本、操作系统、和包类型,......
  • 在linux中,用-r还是-p处理递归的文件夹
    在Linux中,递归处理文件夹用-r还是-p选项1.使用-r:-r来表示递归,例如cp和rm。例如:-r通常用于表示递归操作,例如在复制目录或删除目录时使用。示例:复制目录及其内容:cp-rsource_directorydestination_directory递归删除目录及其内容:rm-rdirectory递归地移动目......
  • linux Slab高处理
    SLAB是Linux操作系统的一种内存分配机制。其工作是针对一些经常分配并释放的对象,您可以看看哪些应用进程的slab占用的内存比较多,是否这些应用需要频繁的请求和释放内存,比如进行一些小文件的读写。如果都是应用的正常使用,可以考虑升级服务器内存,如果内存不足影响业务,需要临时释放一......
  • linux防止常见的网络攻击
    什么是syn,ddos,pingSYN(Synchronize):在TCP(传输控制协议)中,SYN是握手过程的一部分。当客户端尝试与服务器建立连接时,它发送一个带有SYN标志的数据包。服务器收到SYN数据包后,通常会回复一个带有SYN和ACK(确认)标志的数据包,表示接受连接。最后,客户端再发送一个带有ACK标志......
  • Linux 学习笔记
    vim使用打开vim资源文件(可配置vim):vim.vimrc打开学习vim资料:vimtutor(英文版)vimtutorzh(中文版)模式转换:普通模式(......