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

1输入输出重定向

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

image.png

第一个命令查看存在的文件,屏幕会输出文件的信息,这是命令的标准输出信息。
第二个命令查看不存在的文件,屏幕会输出错误信息,这是命令的错误输出信息。

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

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

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

符号 作用
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1或 命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到有内容的后面)

1.1标准输出重定向到文件

ls -l test.txt > stderr.txt

标准输出重定向到文件

1.2错误输出重定向到文件

ls -l xxxxx 2> stderr.txt

错误输出重定向到文件

1.3 输入重定向

wc -l < stderr.txt

image.png

2 管道命令符

管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入”,格式为“命令 A | 命令 B”。

echo "12345" | wc -c

管道命令符

3 命令符的通配符

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

ls -l test*
查找所有以test开头的文件

* 通配符

ls -l test?.txt
查找所有以test开头并且跟随一个字符及.txt后缀的文件。

?匹配符

ls -l test[0-9].txt
查找所有以test开头并且跟随一个数字及.txt后缀的文件。

0-9匹配符

4常用的转义字符

4 个最常用的转义字符如下所示。
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
单引号(''):转义其中所有的变量为单纯的字符串。
双引号(""):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。

5重要的环境变量

Linux 系统中最重要的 10 个环境变量
符号 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的 Shell 解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash 解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器

你可能感兴趣的:(Linux 管道符、重定向与环境变量。)