Linux管道符、重定向与环境变量
——《Linux就该这么学》笔记
输入输出重定向
输入重定向
指把文件导入到命令中
输出重定向
指把原本要输出到屏幕的数据信息写入到指定文件中
输出重定向
分为标准输出重定向和错误输出重定向
每种有清空写入与追加写入两种模式
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可以从其他文件或命令中输入
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕
输入重定向符号及作用
命令 < 文件: 将文件作为命令的标准输入
命令 << 分界符: 从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2: 将文件1作为命令的标准输入并将标准输出到文件2
输出重定向符号及作用
命令 > 文件: 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件: 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件: 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件: 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1 或者 命令 &>> 文件: 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
管道命令符
格式: 命令1|命令2|......|命令n
作用: 把左边命令的结果作为右边命令的输入
eg: ls -l /etc/ | more
命令行通配符
通配符就是通用的匹配信息的符号
星号(*): 代表匹配零个或者多个字符
问号(?): 代表匹配单个字符
常用的转义字符
反斜杠(\): 使反斜杠后面的一个变量变为单纯的字符产
单引号(''): 转义其中所有的变量为单纯的字符串
双引号(""): 保留其中的变量属性,不进行转义处理
反引号(``): 把其中的命令执行后返回结果
重要的环境变量
变量是计算机系统用于保存可变值的数据类型
Linux中10个环境变量
HOME: 用户的主目录(即家目录)
SHELL: 用户在使用的shell解释器名称
HISTSIZE: 输出的历史命令记录条数
HISTFILESIZE: 保存的历史命令记录条数
MAIL: 邮件保存路径
LANG: 系统语言、语系名称
RANDOM: 生成一个随即数字
PS1:Bash解释器的提示符
PATH: 定义解释器搜索用户执行命令的路径
EDITOR: 用户默认的文本编辑器
变量是由固定的变量名与用户或系统设置的变量值两部分组成的
可以使用export命令将自己定义的变量提升为全局变量
env命令: 该命令可以查看Linux系统中所有的环境变量
命令在Linux中的执行步骤
第一步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果时则直接执行
第二步: Linux系统检查用户输入的命令是否为"别名命令"
第三步: Bash解释器判断用户输入的是内部命令还是外部命令
第四步: 系统在多个路径中查找用户输入的命令文件
定义命令别名命令格式: alias 别名=命令
删除命令别名命令格式: unalias 别名
判断命令属于内部命令还是外部命令: type 命令名称
第四步中定义路径的变量叫作PATH,每个路径值之间用冒号间隔