Linux输入/输出重定向的使用

1、Linux标准输入输出

传统的Linux标准输入、输出设备主要是键盘和显示器,详细介绍如下表所示。


Linux标准输入输出
设备 设备文件名 文件描述符 类型 符号表示
键盘 /dev/stdin 0(缺省是键盘,为0时是文件或者其他命令的输出) 标准输入 < <<
显示器 /dev/stdout 1(缺省是屏幕,为1时是文件) 标准输出 > >>
显示器 /dev/stderr 2(缺省是屏幕,为2时是文件) 标准错误输出 2> 2>>

注:其中一个>表示:覆盖原文件中的内容;

两个>即>>表示:追加到原文件中的内容之后。

2、Linux输出重定向

输出重定向:改变程序运行的输入来源和输出地点。

主要的适用方法如下表所示:

输出重定向
类型 符号 功能
标准输出重定向 命令 >文件 以覆盖方式,把命令的正确输出内容输出到指定的文件或设备当中
命令 >>文件 以追加方式,把命令的正确输出内容输出到指定的文件或设备当中
标准错误输出重定向 错误命令 2>文件 以覆盖方式,把命令的错误输出内容输出到指定的文件或设备当中
错误命令 2>>文件 以追加方式,把命令的错误输出内容输出到指定的文件或设备当中
正确/错误输出同时保存 命令 > 文件 2>&1 以覆盖方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 >> 文件 2>&1 以追加方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 &> 文件 以覆盖方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 &>> 文件 以追加方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 >>文件1 2>文件2 以追加方式,把命令的正确输出保存在文件1中;以覆盖方式,把命令的错误输出内容保存到文件2中


3、输入重定向


输入重定向
类型 符号 功能
标准输入 命令 <文件1 命令把文件1的内容作为标准输入
标识符限定输入 命令 <<标识符 命令从标准输入中读入内容,直到遇到“标识符”分界符位置
输入输出重定向 命令 <文件1 >文件2 命令把文件1的内容作为标准输入,把文件2作为标准输出



(参考内容:http://blog.csdn.net/cjfeii/article/details/10084343)


你可能感兴趣的:(linux,shell)