一、概述
在工作或学习中,常常会遇到需要用到输入输出重定向。输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。相较于输入重定向,我们使用输出重定向的频率更高,所以又将输出重定向分为标准输出重定向和标准错误重定向,以及清空写入和追加写入两种模式。
二、概念
1)标准输入重定向(STDIN,文件描述符为 0):默认从键盘输入,也可以从其他文件或命令中输入。
2)标准输出重定向(STDOUT,文件描述符为 1):默认输出到屏幕。
3)错误输出重定向(STDERR,文件描述符为 2):默认输出到屏幕。
三、CMD 符号
对于输入重定向来说,用到的符号及其作用如下:
符号 | 作用 |
---|---|
cmd < file | 将文件作为命令的标准输入 |
cmd << 分界符 | 从标准输入中读入,直到遇见分界符才停止 |
cmd < file1 > file2 | 将文件1作为命令的标准输入并将标准输出到文件2 |
对于输出重定向来讲,用到的符号及作用如下:
符号 | 作用 |
---|---|
cmd > file | 将标准输出重定向到一个文件中(清空原有文件的数据) |
cmd 2> file | 将错误输出到重定向到一个文件中(清空原有文件数据) |
cmd >> file | 将标准输出重定向到一个文件中(追加到原有内容的后面) |
cmd 2>> file | 将错误输出重定向到一个文件中(追加到原有内容的后面) |
cmd >> file 2> &1 或 cmd &>> file | 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) |
注意:对于重定向中的标准输出模式,可以省略文件描述符1不写,而错误输出模式的文件描述符2是必须要写出来的。