Loading... <h3><strong><span style="font-size: 16px">一、管道</span></strong></h3> <p><span style="font-size: 14px"> 使用“|”符号来实现管道功能;管道可以实现在一行中处理使用管道符号连接的多个命令,后面的命令使用前面命令的输出结果做为处理对象。</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-86.png" title="1429628505763061.png" alt="1.png" /></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-35.png" title="1429628512249086.png" alt="2.png" /></p> <h3><strong><span style="font-size: 16px">二、数据流重定向</span></strong></h3> <p><span style="font-size: 14px"> 数据输入和输出的类型:</span></p> <p><span style="font-size: 14px"> 标准输入(stdin):代码为0,默认设备为键盘;</span></p> <p><span style="font-size: 14px"> 标准输出(stdout):代码为1,默认设备为显示器;</span></p> <p><span style="font-size: 14px"> 标准错误输出(stderr):代码为2,默认设备为显示器。</span></p> <p><span style="font-size: 14px"> 重定向就是将数据不使用默认的设备进行输入或输出。</span></p> <p><span style="font-size: 14px"> <strong>1、输出重定向</strong></span></p> <p><span style="font-size: 14px"> 标准输出重定向:</span></p> <p><span style="font-size: 14px"> COMMAND > POSITION:覆盖输出</span></p> <p><span style="font-size: 14px"> COMMAND >> POSITION:追加输出</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-37-1.png" title="1429624421396335.png" alt="1.png" /></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-91.png" title="1429624558353705.png" alt="2.png" /></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-71.png" title="1429624668833840.png" alt="3.png" /></p> <p><span style="font-size: 14px"> 标准错误重定向:</span></p> <p><span style="font-size: 14px"> COMMAND 2> POSITION:覆盖输出</span></p> <p><span style="font-size: 14px"> COMMAND 2>> POSITION:追加输出</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-77.png" title="1429624862850972.png" alt="4.png" /></p> <p><span style="font-size: 14px"> 标准错误的追加重定向与标准输出的追加重定向相类似,此处不再进行演示。</span></p> <p><span style="font-size: 14px"> 合并重定向:</span></p> <p><span style="font-size: 14px"> COMMAND &> POSITION</span></p> <p><span style="font-size: 14px"> COMMAND > POSITION 2> &1</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-27.png" title="1429625100133649.png" alt="4.png" /></p> <p><span style="font-size: 14px"> 分别重定向:</span></p> <p><span style="font-size: 14px"> COMMAND > POSITION 2> POSITION2</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-27-1.png" title="1429625326138630.png" alt="5.png" /></p> <p><span style="font-size: 14px"> <strong> 2、输入重定向</strong></span></p> <p><span style="font-size: 14px"> COMMAND < FILE:以FILE中的内容来替代键盘输入;</span></p> <p><span style="font-size: 14px"> COMMAND << STRING:以STRING为输入结束符;</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-28.png" title="1429625926117410.png" alt="6.png" /></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-83.png" title="1429626173210633.png" alt="7.png" /></p> <p><span style="font-size: 14px"> <strong>3、重定向的应用</strong></span></p> <p><span style="font-size: 14px"> 输入重定向经常用于不能处理参数的命令,例如tr命令。</span></p> <p><span style="font-size: 14px"> tr命令格式:tr [OPTION]… SET1 [SET2] </span></p> <p><span style="font-size: 14px"> 作用:用于删除文字或进行文字的替换。</span></p> <p><span style="font-size: 14px"> OPTIONS:</span></p> <p><span style="font-size: 14px"> -d:删除指定的字符;</span></p> <p><span style="font-size: 14px"> -s:替换掉重复的字符;</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-30.png" title="1429626686397025.png" alt="8.png" /><img src="//cto.wang/usr/uploads/2016/07/20160703161127-97.png" title="1429626815119870.png" alt="1.png" /><span style="font-size: 14px"> <strong> 4、多道输出</strong></span></p> <p><span style="font-size: 14px"> 使用tee命令来实现多道输出,即将命令的结果在屏幕上显示的同时,也在指定的文件中保存;使用-a选项可以在文件中追加重定向的内容。</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-3.png" title="1429627166878739.png" alt="7.png" /></p> <p><span style="font-size: 14px"> <strong> 5、数据黑洞</strong></span></p> <p><span style="font-size: 14px"> 所有流向数据黑洞的数据都将被丢弃,使用/dev/null这个设备来实现此功能。</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-11.png" title="1429627525667969.png" alt="1.png" /></p> <p><span style="font-size: 14px"> <strong> 6、重定向的控制</strong></span></p> <p><span style="font-size: 14px"> set -C 关闭输出重定向的覆盖功能</span></p> <p><span style="font-size: 14px"> set +C 打开输出重写向的覆盖功能</span></p> <p><span style="font-size: 14px"> >|:在关闭了输出重定向的覆盖功能时,依然执行覆盖操作</span></p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161127-60.png" title="1429627841314969.png" alt="2.png" /></p> <p></p> <p></p> <p><span style="font-size: 14px"> </span></p> <p></p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信