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、Linux输入重定向
输入重定向 | ||
类型 | 符号 | 功能 |
标准输入 | 命令 <文件1 | 命令把文件1的内容作为标准输入 |
标识符限定输入 | 命令 <<标识符 | 命令从标准输入中读入内容,直到遇到“标识符”分界符位置 |
输入输出重定向 | 命令 <文件1 >文件2 | 命令把文件1的内容作为标准输入,把文件2作为标准输出 |
总结一五Linux的输入输出重定向:
1、重新设置命令的默认输入,输出,指向到自己文件(文件,文件描述符,设备其实都是文件,因为linux就是基于设备也是文件,描述符也指向是文件)
2、扩展自己新的描述符,对文件进行读写操作