第二章 Linux 管道符、重定向、环境变量

前言

每天更新一点 Linux 系统操作的命令,巩固自己的 Linux 的基础操作命令,学习 Linux 很久了,很多东西都忘的差不多了,是时候回顾回顾。

2.1 标准输入输出重定向:

标准输入输出

  • 标准输入(STDIN,文件描述符为0):默认从键盘输入,也可以从其他文件或命令中输入
  • 标准输出(STDOUT,文件描述符为1):默认输出到屏幕,
  • 错误输出(STDERR,文件描述符为2):默认输出到屏幕

输入重定向符号:< <<

格式:[命令] [符号] [文件]

符号:

  • [命令] < [文件] 将文件作为命令的标准输入
  • [命令] << [分界符] 从标准输入中读入,直到遇见分界符才停止
  • [命令] < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2

输出重定向符号:> >>

格式:[命令] [符号] [文件]

符号:

  • [命令] > [文件] 将标准输出重定向到一个文件中
  • [命令] 2> [文件] 将错误输出重定向到一个文件中
  • [命令] >> [文件] 将标准输出追加到一个文件中
  • [命令] &>> [文件] 将标准输出与错误输出共同写到文件

2.2 管道命令符:“ | ”

执行格式:[命令1] | [命令2]

释义:把前一条命令的输出作为后一条命令的输入

  • 管道符命令可以多个组合

2.3 通配符和转意符

* 匹配零个或多个任意字符

? 匹配单个任意字符

[0~9] 匹配 0~9 之间的单个字符

[a~z] 匹配 a~z 之间的单个字符

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

'' (单引号)转意其中的所有变量为单纯的字符

"" (双引号)保留其中的变量属性,不进行转意

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

2.4 重要的环境变量

命令在 Linux 中执行经过 4 个步骤

  • 第一步:判断用户是否以绝对路径或相对路径的方式输入命令,如果是的话直接执行
  • 第二步:Linux系统检查用户输入的命了是否为“别名命令”,即用一个自定义的命令替换原本的命令。
  • 第三步:Bash解释器判断用户输入的是内部命令还是外部命令,内部命令直接执行外部命令交由第四步
  • 第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫做 PATH。PATH 是由多个路径组成的变量,每个路径之间使用 “:” 间隔

重要的环境变量

△ HOME 用户的家目录
△ SHELL 用户在使用的Shell解释器名称
△ HISTSIZE 输出的历史命令记录条数
△ HISTFILESIZE 保存的历史命令记录条数
△ MALL 邮件保存路径
△ LANG 系统语言、语系名称
△ RANDOM 生成一个随机数字
△ PS1 Bash解释器的提示符
△ PATH 定义解释器搜索用户执行命令的路径
△ EDITOR 用户默认的文本编辑器
△ source
释义:环境变量配置文件生效
格式:source [配置文件]
△ export
释义:将用户变量提升为全局变量
格式:export [变量]
△ env
释义:查询变量
△ unset
释义:删除变量

预定义变量

△ $? 最后一次执行的命令的返回状态,返回值为0,命令正确执行

△ $$ 当前进程的进程号

△ $! 后台运行的最后一个进程的进程号

后记

两个或多个$在一起在 markdown 当中就无法显示,所以文中用全角的替代。


THE END