【Linux】重定向、管道符、通配符、转义字符、环境变量
声明:以下内容均学习自《Linux就该这么学》一书。
1、输入输出重定向
输入重定向:
指把文件导入到命令中;
标准输入重定向STDIN
文件描述符为0。默认从键盘输入,也可以从其他文件或命令中输入。
命令 < 文件 | 将文件作为命令的标准输入 |
命令 << 分界符 | 从标准输入中读入,直到遇到分解符才停止 |
命令 < 文件1 > 文件2 | 将文件1作为命令的标准输入并将标准输出到文件2 |
输出重定向:
指把原本要输出到屏幕的数据信息写入到指定文件中。
标准输出重定向STDOUT
文件描述符为1(可以省略不写)。默认输出到屏幕。
错误输出重定向STDERR
文件描述符为2(必须要写)。默认输出到屏幕。
命令 > 文件 | 将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 | 将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 | 将标准输出重定向到一个文件中(追加到原有文件内容的后面) |
命令 2>> 文件 | 将错误输出重定向到一个文件中(追加到原有文件内容的后面) |
命令 >> 文件 2>&1 或 命令 &>> 文件 | 将标准输出与错误输出共同写入到文件中(追加到原有文件内容的后面) |
2、管道符
把前一个命令原本要输出到屏幕的标准正常数据当作是最后一个命令的标准输入。
把管道符用于翻页,可以一页一页地查看。
# 管道符用于翻页
ls -l /etc/ | more
3、通配符
星号 * :匹配零个或多个字符
问号 ?:匹配单个字符
中括号加数字:[0-9] 匹配0~9之间的单个数字的字符
中括号加字母:[abc] 匹配a、b、c三个字符中 的任意一个字符
4、转义字符
反斜杠 \ :
作用是让其后面的一个变量变为单纯的字符串
单引号 ' ' :
转义其中的所有变量为单纯的字符串
双引号 " " :
保留其中的变量属性,不进行转义处理
反引号 ` ` :
把其中的命令执行后返回结果。
5、环境变量
可以用env命令查看Linux系统中所有的环境变量(环境变量约定成俗为大写)。以下是10个最重要的环境变量。
# Linux中最重要的10个环境变量# 查看用户的主目录,或者家目录
echo $HOME# 查看用户在使用的Shell解释器名称
echo $SHELL# 查看输出的历史命令记录条数
echo $HISTSIZE# 查看保存的历史命令记录条数
echo $HISTFILESIZE# 查看邮件保存路径
echo $MAIL# 查看系统语言、语系名称
echo $LANG# 生成一个随机数字
echo $RANDOM# 查看Bash解释器的提示符
echo $PS1# 查看定义解释器搜索用户执行命令的路径
echo $PATH# 查看用户默认的文本编辑器
echo $EDITOR
可以使用export将自定义变量提升为全局变量,这样其他用户也都可以使用。
# 用export将自定义变量WORKDIR提升为全局变量
export WORKDIR