天天看点

Linux笔记(四)输入输出重定向管道命令符命令行通配符常用的转义字符重要的环境变量

管道符、重定向与环境变量

  • 输入输出重定向
    • 输入重定向用到的符号及其作用
    • 输出重定向用到的符号及其作用
  • 管道命令符
  • 命令行通配符
  • 常用的转义字符
  • 重要的环境变量

输入输出重定向

**输入重定向:**把文件导入到命令中

**输出重定向:**把原本要输出到屏幕的数据写入到指定文件中,输出重定向分为两种:1. 标准输出重定向(文件描述符为1)默认输出到屏幕;2. 错误输出重定向(文件描述符为2)默认输出到屏幕。

输入重定向用到的符号及其作用

命令 < 文件

将文件作为命令的标准输入

命令 << 分界符

从标准输入中读入,直到遇见分界符才停止

命令 < 文件1 > 文件2

将文件1 作为命令的标准输入并将标准输出到文件2

输出重定向用到的符号及其作用

命令 > 文件

将标准输出重定向到一个文件中(清空原有文件的数据)

命令 2> 文件

将错误输出重定向到一个文件中(清空原有文件的数据)

命令 >> 文件

将标准输出重定向到一个文件中(追加到原有内容的后面)

命令 2>> 文件

将错误输出重定向到一个文件中(追加到原有内容的后面)

命令 >> 文件 2>&1或命令 &>> 文件

将标准输出与错误输出共同写入到文件中(追加到原有内容的

后面)

管道命令符

其格式为:命令A | 命令B

解释:就是把命令A原本要输出到屏幕的数据当作是命令B的标准输

可以使用多次管道符:命令A | 命令B | 命令C

命令行通配符

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

Linux笔记(四)输入输出重定向管道命令符命令行通配符常用的转义字符重要的环境变量
Linux笔记(四)输入输出重定向管道命令符命令行通配符常用的转义字符重要的环境变量
Linux笔记(四)输入输出重定向管道命令符命令行通配符常用的转义字符重要的环境变量

常用的转义字符

常用的转义字符:

反斜杠(\)使反斜杠后面的一个变量变为单纯的字符串。

单引号(’’):转义其中所有的变量为单纯的字符串。

双引号(""):保留其中的变量属性,不进行转义处理。

反引号(``):把其中的命令执行后返回结果。

反引号是第二行数字键最左边的一个,不是单引号

Linux笔记(四)输入输出重定向管道命令符命令行通配符常用的转义字符重要的环境变量

图中$$表示进程,因此需要添加反斜杠’\’

重要的环境变量

在我们执行一条命令之后,Linux系统中执行了四个步骤:

第1步: 判断是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是,则直接执行

第2步: Linux 系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用alias 命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”。若要取消一个命令别名,则是用unalias 命令,格式为“unalias 别名”。我们之前在使用rm 命令删除文件时,Linux 系统都会要求我们再确认是否执行删除操作。

第3步::Bash 解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤4 继续处理。可以使用“type 命令名称”来判断用户输入的命令是内部命令还是外部命令。

**第4步:**系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉Bash 解释器待执行的命令可能存放的位置,然后Bash 解释器就会乖乖地在这些位置中逐个查找。PATH 是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash 解释器对Linux 命令的查找。

export可以将变量提升为全局变量

继续阅读