linux 中很多时候会用到重定向来完成一些工作下面就来谈谈我对重定向的理解 欢迎吐槽
1,0<或者< 表示标准输入 代码为0 或者 称stdin
2 , 1> 表示标准输出 代码为1 或者 称stdout
3, 2> 表示错误输出 代码为2 或者 称 stderr
标准输出:
>或者1> 输出重定向到一个文件或者设备 覆盖原来的文件
>! 强制覆盖
>> 追加
输出重定向我就不举例了 很好理解
标准输入:
0 < 或者 < 输入定向 输入重定向用于改变命令的输入,后面跟指定输入的内容,前面跟文件名
0<<或者<< 追加输入重定向 后跟字符串,用来表示“输入结束”,也可以用ctrl+D 结束
例子:
例子解释:
cat 接收键盘的标准输入的内容 重定向输出到test.txt文件中
有的同学可能不理解cat 怎么可以接收标准输入流 下面我们来看看 cat 的定义
大家现在应该明白了吧
错误输出:
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件中原有的内容
2>> 错误追加重定向:把错误信息追加到后边的文件中,不删除原有文件的内容
例子:
ehco "hello world" 1>test1.txt 2>&1
例子解释: 如果命令正确没有错误直接将 “hello world” 重定向到test1.txt中
如果命令错误 比如 ech “hello world” 命令会出错 错误信息就会输入到 test1.txt中
大家肯定对这个 2>&1 有疑问 那下面我就来说说
2>表示的 标准错误输出 &1 表示的是 标准输出打开的 test1.txt 引用
还是不明白的可以参考 https://blog.csdn.net/ggxiaobai/article/details/53507530
他们的共同点就是 箭头的方向表示 数据的流向
原文地址:http://blog.51cto.com/1167248/2131401