输入输出重定向
- 标准输入重定向(STDIN,文件描述符为 0): 默认从键盘输入,也可从其他文件或命令中输入。
- 标准输出重定向(STDOUT,文件描述符为 1):默认输出到屏幕。
- 错误输出重定向(STDERR,文件描述符为 2):默认输出到屏幕。
输入重定向中用到的符号及其作用
符号 | 作用 |
---|---|
命令 < 文件 | 将文件作为命令的标准输入 |
命令 << 分界符 | 从标准输入中读入,直到遇见分界符才停止 |
命令 < 文件 1 > 文件 2 | 将文件 1 作为命令的标准输入并将标准输出到文件 2 |
输出重定向来讲(重点掌握)
符号 | 作用 |
---|---|
命令 > 文件 | 将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 | 将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 | 将标准输出重定向到一个文件中(追加到原有内容的后面) |
命令 2>> 文件 | 将错误输出重定向到一个文件中(追加到原有内容的后面) |
命令 >> 文件 2>&1或 命令 &>> 文件 | 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) |
ls -l xxxxxx
cannot access xxxxxx: No such file or directory
ls -l xxxxxx > /root/stderr.txt
cannot access xxxxxx: No such file or directory
ls -l xxxxxx 2> /root/stderr.txt
cat /root/stderr.txt
ls: cannot access xxxxxx: No such file or directory
输入重定向用的少,主要作用就是把文件直接导入到命令中。
举栗:使用输入重定向把 readme.txt 文件导入给 wc -l 命令,统计一下文件中的内容行数。
wc -l < readme.txt
等同于管道 cat readme.txt | wc -l 的命令组合