博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux环境变量总结
阅读量:7219 次
发布时间:2019-06-29

本文共 2210 字,大约阅读时间需要 7 分钟。

Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

设置环境变量的方法

  • 对所有用户生效的永久性变量
    这类变量对系统内的所有用户都生效,所有用户都可以使用这类变量。作用范围是整个系统。
`此文件只在root下才能修改。`# vi /etc/profileexport CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

添加完成后新的环境变量不会立即生效,立即生效需要运行 source /etc/profile ,否则只能在下次重进此用户时才能生效。


  • 对单一用户生效的永久性变量
    在用户目录下的.bash_profile 文件中添加变量,该文件是隐藏文件,可使用ll -a查看:
    img_995aab3f544427c21c805a42f0abc5e3.png
$ whoami rethink$ vi /home/rethink/.bash_profileexport CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib $ source /home/rethink/.bash_profile

在上图中用红框框住了两个文件:.bashrc.bash_profile ,原则上讲设置此类环境变量时在这两个文件任意一个里面添加都是可以的,这两个文件的区别为:.bash_profile是交互式login方式进入bash shell运行,.bashrc是交互式non-login方式进入bash shell运行。可以理解为.bash_profile文件只会在用户登录的时候读取一次,而.bashrc在每次打开终端进行一次新的会话时都会读取。


  • 临时有效的环境变量(只针对当前shell有效)
    此类环境变量只对当前的shell有效。当我们退出登录或者关闭终端再重新打开时,这个环境变量就会消失。是临时的。

设置方法:命令行下直接使用[export 变量名=变量值] 定义变量。

$ export NAME="rethink"$ echo $NAMErethink

设置环境变量常用命令

  • echo

    用于打印显示环境变量,如:echo $NAME

  • export

    用于设置新的环境变量,如:export NAME='rethink'

  • 更新环境变量

    更新环境变量直接重新赋值即可:NAME='test' (注意:变量名前不需要加$

  • env

    显示当前用户的变量;

  • set

    显示当前shell变量,shell变量包含用户变量;

  • unset

    删除一个环境变量,如:unset NAME

  • readonly

    设置环境变量只读,如:readonly NAME ,只读变量unset无效;


常用环境变量

  • PATH
# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

路径之间用冒号分隔,这些路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell会先检查命令是否是系统内部命令,如果不是则会再去检查此命令是否是一个应用程序,shell会试着从PATH中寻找这些应用程序。如果shell在这些路径目录里没有找到可执行文件,就会报错;若找到,系统将调用执行应用程序。通过设置PATH ,可以让我们运行程序或指令更加方便。

将某个目录路径加入到PATH中,可以这样写:

$ pwd/root/docker/httpd$ export PATH=$PATH:$PWD$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd`可以看到在PATH后面已经加上了我们当前所处目录的路径`
  • HOME
    用户的主工作目录,即为用户登录到Linux系统中时的默认目录。
$ whoamirethink$ echo $HOME/home/rethink
  • HISTSIZE
    保存历史命令的条数。我们输入的指令都会被系统保存下来,这个环境变量记录的就是保持指令的条数。一般为1000。
$ echo $HISTSIZE1000$ HISTSIZE=1001$ echo $HISTSIZE1001

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取我们可以通过history命令来查看。 可以使用符号 ! 执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2

$ history 5   59  ls   60  who   61  history | head -n 5   62  who am i   63  history 5$ !62who am iroot     pts/0        2018-04-04 11:00 (101.81.92.18)
  • LOGNAME
    当前用户登录名。
$ echo $LOGNAMErethink
  • HOSTNAME
    主机名称。
$ echo $HOSTNAMEJDu4e00u53f7
  • SHELL
    当前用户使用的shell种类。
$ echo $SHELL/bin/bash

to be continued...

转载地址:http://ehxym.baihongyu.com/

你可能感兴趣的文章
遗传算法
查看>>
将web网站移动化
查看>>
Application-Session-Cookie
查看>>
Perl的多进程框架(watcher-worker)
查看>>
phpMyAdmin 后台拿webshell
查看>>
Linux 关机 休眠, 关闭移动设备自动挂载 命令
查看>>
Html唤起手机APP,如果有就唤起,如果没有就跳到下载页。
查看>>
Java中File类如何扫描磁盘所有文件包括子目录及子目录文件
查看>>
VC++ 限制窗口的大小范围的方法
查看>>
结对开发-返回一个整数数组中最大子数组的和(首尾相接版)
查看>>
meanshift-聚类
查看>>
不要if else的编程
查看>>
rn.ShowDialog() == DialogResult.OK
查看>>
20160519
查看>>
SCU 3132(博弈)
查看>>
正则表达式
查看>>
delete archivelog all 无法彻底删除归档日志?
查看>>
Redis五大数据类型
查看>>
大型分布式网站架构技术总结
查看>>
矩阵求导与投影梯度相关问题
查看>>