专栏首页JetpropelledSnakeLinux学习笔记之Linux环境变量总结

Linux学习笔记之Linux环境变量总结

0x00 概述

Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量。

0x01 Linux环境变量分类

按照生命周期来分,Linux环境变量可以分为两类:

# 1、永久的:需要用户修改相关的配置文件,变量永久生效。
# 2、临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

按照作用域来分,Linux环境变量可以分为:

# 1、系统环境变量:系统环境变量对该系统中所有用户都有效。
# 2、用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效。

0x02 Linux设置环境变量的方法

2.1 对所有用户生效(永久的)

/etc/profile文件中添加变量  用vim在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。 例如:编辑/etc/profile文件,添加CLASSPATH变量

 vim /etc/profile    
 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效。

2.2 对单一用户生效(永久的)

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

vim ~/.bash.profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。

2.3 只对当前shell(BASH)有效(临时的)

直接运行export命令定义变量 在shell的命令行下直接使用export 变量名=变量值 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

0x03 Linux环境变量使用

3.1 Linux中常见的环境变量有:

  • PATH:指定命令的搜索路径
# PATH声明用法:
PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH  n >
export PATH
# 你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。
# 可以利用echo $PATH查看当前当前系统PATH路径。
  • HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。
  • HISTSIZE:指保存历史命令记录的条数。
  • LOGNAME:指当前用户的登录名。
  • HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的
  • SHELL:指当前用户用的是哪种Shell。
  • LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
  • MAIL:指当前用户的邮件存放目录。
# 注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

3.2 Linux也提供了修改和查看环境变量的命令

下面通过几个实例来说明:

  • echo 显示某个环境变量值 echo $PATH
  • export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
  • env 显示所有环境变量
  • set 显示本地定义的shell变量
  • unset 清除环境变量 unset HELLO
  • readonly 设置只读环境变量 readonly HELLO

3.3 C程序调用环境变量函数

  • getenv()返回一个环境变量。
  • setenv()设置一个环境变量。
  • unsetenv()清除一个环境变量。

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ELK学习笔记之Kibana查询和使用说明

    当您第一次连接到Kibana 4时,您将进入发现页面。 默认情况下,此页面将显示您的所有ELK的最近接收的日志。 在这里,你可以根据搜索查询通过筛选,找到特定的...

    Jetpropelledsnake21
  • Docker学习笔记之Docker应用于服务化开发

    上一节里我们谈到了小型的独立项目如何使用 Docker Compose 来搭建程序的运行环境,对于由多人或多部门参与的中大型服务化架构的项目,仅由一个 Dock...

    Jetpropelledsnake21
  • K8S学习笔记之使用Fluent-bit将容器标准输入和输出的日志发送到Kafka

    K8S内部署微服务后,对应的日志方案是不落地方案,即微服务的日志不挂在到本地数据卷,所有的微服务日志都采用标准输入和输出的方式(stdin/stdout/std...

    Jetpropelledsnake21
  • Linux环境变量总结

    个人博客:https://suveng.github.io/blog/​​​​​​​

    suveng
  • VSCode的Python扩展下程序运行

    在VSCode中编写Python程序时,由于有些地方要使用环境变量,但是发现设置的环境变量有时不起作用,花了点时间研究了一下,过程不表,直接说结论。

    py3study
  • 数据视觉盛宴—数据可视化实践之美

    随着DT时代的到来,传统的统计图表很难对复杂数据进行直观地展示。这几年数据可视化作为一个新研究领域也变得越来越火。成功的可视化,如果做得漂亮,虽表面简单却富含深...

    钱塘数据
  • 数据可视化实践之美

    开篇主要是介绍了一些常用的数据可视化工具和图表,让各位看官对数据可视化有一个较为全面的认识。后续篇章会深入介绍如何运用工具绘制精美图表的技术细节。 随着DT时代...

    小莹莹
  • 除了传统图文报道,数据可视化如何让我们看到的新闻“活”起来

    导语| 随着新冠疫情的发展,各个新闻资讯平台及自媒体在疫情的报道上,都在尝试除传统图文报道外的其他形式,以求基于大数据和新技术,能够更加全方位的、详实的、清...

    腾讯大讲堂
  • 数据可视化实践之美

    来源:中国统计网 作者:daniel.xie(谢佳标) 原文链接:http://dwz.cn/5Pz3BX 本文长度为2900字,建议阅读5分钟 本文主要为大家...

    数据派THU
  • 2014数据可视化调查:接地气、易用和开源产品更受人欢迎

    大数据时代一个显著特征就是数据可视化的崛起。作为数据最上层的展现环节,数据可视化将技术与艺术完美结合,借助图形化的手段,清晰有效地传达与沟通信息。一...

    小莹莹

扫码关注云+社区

领取腾讯云代金券