[TOC]
重要的环境变量
1、命令在Linux中执行的4个步骤
1、路径命令 1%
2、alias命令 2%
3、内部命令 1%
4、外部命令 96%
- 第一步: 判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话则直接执行。
-
第二步:Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用
alias
命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”
。若要取消一个命令别名,则是用unalias
命令,格式为“unalias 别名”
。我们之前在使用rm命令删除文件时,Linux系统都会要求我们再确认是否执行删除操作,其实这就是Linux系统为了防止用户误删除文件而特意设置的rm别名命令
[root@localhost ~]# alias rm
alias rm='rm -i'
-
第三步:Bash解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤4继续处理。可以使用
“type命令名称”
来判断用户输入的命令是内部命令还是外部命令。 -
第4步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作
PATH
,可以简单地把它理解成是“解释器的小助手”,作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖地在这些位置中逐个查找。PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找。
[root@localhost ~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
2、Linux系统中最重要的10个环境变量
使用env命令可以查看到Linux系统中所有的环境变量
变量名称:作用
-
HOME
:用户的主目录(即家目录) -
SHELL
:用户在使用的Shell解释器名称 -
HISTSIZE
:输出的历史命令条数 -
HISTFILESIZE
:保存的历史命令记录条数 -
MAIL
:邮件保存路径 -
LANG
:系统语言、语系名称 -
RANDOM
:生成一个随机数字 -
PS1
:Bash解释器的提示符 -
PATH
:定义解释器搜素用户执行命令的路径 -
EDITOR
:用户默认的文本编辑器
3、与用户相关的工作运行环境
查看HOME
变量在不同用户身份下的值(su
是用于切换用户身份的命令)
[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# su - chen
Last login: Tue Dec 4 18:38:08 CST 2018 on :0
[chen@localhost ~]$ echo $HOME
/home/chen
4、系统变量
变量由固定的变量名与用户或系统设置的变量值两部分组成的
一般变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。
如果工作需要,可以使用export
命令提升为全局变量,这样其他用户也可以使用它。