linux 环境变量掌握这些就够了
Posted 涤生手记大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 环境变量掌握这些就够了相关的知识,希望对你有一定的参考价值。
一、什么是环境变量
在计算机系统中有一种数据类型称为变量,变量是用来保存可变值的,操作计算机时可以直接通过变量名称来提取到对应的变量值。而我们今天提到的环境变量本质上也是变量,它的服务对象是shell程序。
很多程序和脚本都通过环境变量来获取系统信息、存储临时数据和配置信息。在Linux系统上有很多地方可以设置环境变量,了解去哪里设置相应的环境变量很重要。
小提示:
Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。
虽然bash shell 使用一致的专有环境变量,但不同的 Linux 发行版经常会添加其自有的环境变量。你在本章中看到的环境变量的例子可能会跟你安装的发行版中看到的结果略微不同。如果遇到本书未讲到的环境变量,可以查看你的Linux发行版上的文档。
1.1 全局变量
- 全局变量
- 局部变量
a: 查看全部的环境变量
b:查看指定的环境变量值
echo + $变量名
1.2 局部变量
和全局变量对应,局部环境变量只能在定义它们的进程中可见。
Linux 作为一个多用户多任务的操作系统,能够为每个用户提供独立的、合适的工作运行环境,因此,一个相同的环境变量会因为用户身份的不同而具有不同的值。
二、默认的环境变量
Linux 系统能够正常运行并且为用户提供服务,需要数百个环境变量来协同工作,但是,我们没有必要逐一学习每个变量,这里给大家列举了几个非常重要的环境变量。
环境变量名称 | 作用 |
---|---|
HOME | 用户的主目录(也称家目录) |
SHELL | 用户使用的 Shell 解释器名称 |
PATH | 定义命令行解释器搜索用户执行命令的路径 |
EDITOR | 用户默认的文本解释器 |
RANDOM | 生成一个随机数字 |
LANG | 系统语言、语系名称 |
HISTSIZE | 输出的历史命令记录条数 |
HISTFILESIZE | 保存的历史命令记录条数 |
PS1 | Bash解释器的提示符 |
邮件保存路径 |
三、设置 PATH 环境变量
注意:PATH中的目录使用冒号分隔,而且必须使用绝对路径。
举例操作,给系统添加一个新的PATH变量,只需要引用原有的,在后面追加即可。
尖叫提示:对 PATH变量的修改只能持续到退出或重启系统。这种效果并不能一直持续。后面我们会讲到如何永久保持环境变量的修改效果。
四、环境变量持久化
- /etc/profile
- $HOME/.bash_profile
- $HOME/.bashrc
- $HOME/.bash_login
- $HOME/.profile
4.1 /etc/profile文件
说明:
很多时候我们为了方便管理,会在 /etc/profile.d 目录下自定义文件,写入我们定义的PATH变量,这个目录下的文件之所以生效的原因是在/etc/profile文件中,循环读取 /etc/profile.d目录下的所有文件。
4.2. $HOME目录下的启动文件
- $HOME/.bash_profile
- $HOME/.bashrc
- $HOME/.bash_login
- $HOME/.profile
小提示:$HOME表示的是某个用户的家(主)目录
如果我们执行我们追加的PATH路径在单独的某一个用户下生效,此时我们就可以将配置写在$HOME/.bash_profile文件中。
五、引入环境变量【export】
我们在工作环境中很多时候会有零时 新增,修改或删除环境变量的场景,此时使用命令【export】来完成。
使用的语法:
export [-fnp][变量名称]=[变量设置值]
:export -p 可以列出当前用户下生效的环境变
export 变量名 = 变量值 //用此方式来零时定义一个我们需要的环境变量
可以看到定义的零时变量已经生效。但是当退出此用户环境后,此变量将失效。
实战常用:
export 更多的时候我们会直接用来零时修改 PATH变量。
例如:export PATH=$PATH:/home/test/mysql/bin
此时新增的PATH 就会立生效。
提示:
在hadoop环境下,因为此框架特有的权限识别机制,还可以使用 export 来零时伪装用户身份,如下截图:
六、硬核总结
环境变量的知识深入来学习的话,还是有很多的知识点可以展开的,但是为了挺高我们学习的高效性,我们只需要了解以下几点,在工作中就是完全够用了。
一,环境变量的作用
二、怎么查看环境变量
三、如何定义追加一个新的PATH变量
四、永久保存的PATH变量的文件位置
五、引入环境变量(export + 环境变量名)
以上是关于linux 环境变量掌握这些就够了的主要内容,如果未能解决你的问题,请参考以下文章
linux生产文本处理掌握这些就够了:awk,gawk,sed,grep,sort
linux生产文本处理掌握这些就够了:awk,gawk,sed,grep,sort