在了解输入输出重定向之前,我们先来看下标准的输入输出。
① 标准输入输出
设备 | 设备文件名 | 文件描述符 | 类型 |
---|---|---|---|
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/sdterr | 2 | 标准错误输出 |
② 输出重定向
输出重定向顾名思义就是本来是一条直直的箭头指定了到某个设备或文件中输出,但是重定向后就等于把这条箭头拐个弯到用户设定的文件或设备中输出。
类型 | 符号 | 作用(仅支持正确输出或错误信息其中一种输出) |
---|---|---|
标准输出重定向 | 命令>文件 | 以覆盖的方式将命令执行的结果输出到指定的文件或设备中 |
标准输出重定向 | 命令>>文件 | 以追加的方式将命令执行的结果输出到指定的文件或设备中 |
标准错误输出重定向 | 命令2>文件 | 以覆盖的方式将命令执行的错误信息输出到指定的文件或设备中 |
标准错误输出重定向 | 命令2>>文件 | 以追加的方式将命令执行的错误信息输出到指定的文件或设备中 |
下面介绍一种同时能保存正确输出和错误输出的命令。
命令 | 作用 |
---|---|
命令 > 文件 2>&1 | 以覆盖的方式将正确和错误的输出都保留到文件中 |
命令 >> 文件 2>&1 | 以追加的方式将正确和错误的输出都保留到文件中 |
命令 &> 文件 | 以覆盖的方式将正确和错误的输出都保留到文件中 |
命令 &>> 文件 | 以追加的方式将正确和错误的输出都保留到文件中 |
命令 >> 文件1 2>>文件2 | 以追加的方式将正确的输出保留到文件1中,错误的输出保留到文件2中 |
③ 输出重定向
此命令用的较少,格式为:wc 【选项】 【文件名】,其中选项分为-c(统计字节数)、-w(统计单词数)、-l(统计行数)