命令行的通配符,转义字符与环境变量

命令行的通配符
通配符就是通用的匹配信息的符号,比如星号(*)代 表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配 0~ 9 之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配 a、b、c 三个字符中的任意 一个字符。
在这里插入图片描述

常用的转义字符
4个最常用的转义字符如下所示。
➢ 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
➢ 单引号(’’):转义其中所有的变量为单纯的字符串。
➢ 双引号(""):保留其中的变量属性,不进行转义处理。
➢ 反引号(``):把其中的命令执行后返回结果。
先定义一个名为 PRICE 的变量并赋值为5,然后输出以双引号括起来的字符串与变 量信息:
在这里插入图片描述
接下来,我们希望能够输出“Price is 5 5 5”,即价格是 5 美元的字符串内容,但碰巧美元符 号与变量提取符号合并后的 I D 作用是显示当前程序的进程 ID 号码,于是命令执行后输出的内 容并不是我们所预期的。要想让第一个“ ”乖乖地作为美元符号,那么就需要使用反斜杠(\)来进行转义,将这个命令提取符转义成单纯的文本,去除其特殊功能。
在这里插入图片描述
而如果只需要某个命令的输出值时,可以像命令这样,将命令用反引号括起来,达到预 期的效果。例如,将反引号与 uname -a 命令结合,然后使用 echo 命令来查看本机的 Linux 版本和内核信息:
在这里插入图片描述

环境变量
变量是计算机系统用于保存可变值的数据类型。在 Linux 系统中,变量名称一般都是大 写的,这是一种约定俗成的规范。我们可以直接通过变量名称来提取到对应的变量值。Linux 系统中的环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录、邮件 存放位置等
在用户执行了一条命令之后,Linux 系统中到底发生了什么事情呢?简单来说,命令在 Linux 中的 执行分为 4个步骤:
第一步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话
则直接执行。
第二步:Linux 系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令
名称来替换原本的命令名称。可以用 alias 命令来创建一个属于自己的命令别名,格式为 “alias 别名=命令”。若要取消一个命令别名,则是用 unalias 命令,格式为“unalias 别名”。 我们之前在使用 rm命令删除文件时,Linux 系统都会要求我们再确认是否执行删除操作, 其实这就是 Linux 系统为了防止用户误删除文件而特意设置的 rm 别名命令,接下来我们 把它取消掉:
在这里插入图片描述
第三步:Bash 解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部
的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤 4 继 续处理。可以使用“type 命令名称”来判断用户输入的命令是内部命令还是外部命令。
第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉 Bash 解释器待执行的命令可能存放的位置,然后 Bash 解释器就会乖乖地在这些位置中逐个查找。PATH 是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到 Bash 解释器对 Linux 命令的查找
在这里插入图片描述

可以使用 env 命令来查看到 Linux 系统中所有的环境变量,常见重要的一些变量如下所示:
在这里插入图片描述
Linux 作为一个多用户多任务的操作系统,能够为每个用户提供独立的、合适的工作运行环境,因此,一个相同的变量会因为用户身份的不同而具有不同的值。
在这里插入图片描述

自己创建变量
其实变量是由固定的变量名与用户或系统设置的变量值两部分组成的,我们完全可以自 行创建变量,来满足工作需求。例如设置一个名称为 WORKDIR 的变量,方便用户更轻松地 进入一个层次较深的目录
在这里插入图片描述
但是,这样的变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。 如果工作需要,可以使用 export 命令将其提升为全局变量,这样其他用户也就可以使用它了
在这里插入图片描述

发布了138 篇原创文章 · 获赞 203 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qinshangwy/article/details/103152602