DOS管道与重定向

From:http://hi.baidu.com/liouxueyun/blog/item/6951d9611ab9b76a0d33fa60.html


一、     重定向:
所谓重定向,就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定,所以重定向分为输出重定向、输入重定向和错误重定向(注:
STDIN   0   标准输入   键盘     命令在执行时所要的输入数据通过它来取得
STDOUT   1   标准输出   显示器   命令执行后的输出结果从该端口送出
STDERR   2   标准错误   显示器   命令执行时的错误信息通过该端口送出   )。
通常情况下重定向到一个文件。重定向命令又称转向命令。其中错误重定向和输出重定向有些类似,就不多说,学过C++可能会明白的多些。
所 谓输出重定向指把执行相应DOS命令时本应在屏幕上显示的内容输出到重定向命令所指向的文件或设备中去。输出重定向命令 > 、>>。它们的区别是:如果你使用的是 > ,原文件会被删除,重新生成新的文件,其内容如上所述;如果你使用的是 >> ,它以追加的方式,将命令的输出写入文件的末尾,原文件内容会被保留,新的内容会添加到原文件件的内容的后面。主要用在某个命令的输出很多,在屏幕上不能完全显示,就可把它重定向到一个文件中,稍后再用文本编辑器来打开这个文件。
输入重定向使输入信息来自文件。如果一个名为file.com的文件 C:>file 之后,执行file时所需的处理信息就改为由文件file读入,这就是输入重定向。小于号<是输入重定向操作符,在<之后的文件名或设备名是重定向的输入源。如果一个程序时需要输入较多数据,使用输入重定向可以提高效率。在这里要说一些过滤命令 more 、sort 和 find 。其中more进行分屏显示;find 查找符合条件的内容;sort(按行)排序。
例如:(我是在windows命令提示符中用的)
例1:  
     more < f:\turboc2\readme
more的输入来自 c:\tc\readme 文件内容多。这个命令与
type f:\turboc2\readme | more
作用相同,但更简洁,效率也更高。
例2:(注cmd重定向进入后用exit返回原目录)
   cmd > file 把 stdout 重定向到 file 文件中
   cmd >> file 把 stdout 重定向到 file 文件中(追加)
   cmd 1> file 把 stdout 重定向到 file 文件中
   cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中
   cmd 2> file 把 stderr 重定向到 file 文件中
   cmd 2>> file 把 stderr 重定向到 file 文件中(追加)
   cmd >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中
   cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout
       注:>&n 使用系统复制文件描述符 n 并把结果用作标准输出
           <&n 标准输入复制自文件描述符 n
           <&- 关闭标准输入(键盘)
           >&- 关闭标准输出
           n<&- 表示将 n 号输入关闭
           n>&- 表示将 n 号输出关闭
           &> 同时实现输出重定向和错误重定向
用 途:DOS的标准输入输出通常是在标准设备键盘和显示器上进行的, 利用重定向,可以方便地将输入输出改向磁盘文件或其它设备。如在批处理命令执行期间为了禁止命令或程序执行后输出信息而扰乱屏幕, 可用DOS重定向功能把输出改向NUL设备(NUL不指向任何实际设备): C:\>copy a.txt b.txt > NUL。命令执行结束不显示"1 file(s) copied"的信息。有的交互程序在执行时要求很多键盘输入, 但有时输入是固定不变的, 为加快运行速度, 可预先建立一个输入文件,此文件的内容为程序的键盘输入项, 每个输入项占一行。假如有一个程序cx 其输入项全部包括在文件in.dat中, 执行 C:\>cx <in.dat>NUL 程序就自动执行。
二、     管道:
进程从“管道”的一端发送另一端接收,也就是说将若干命令用输入输出“管道”串接在一起,这就是管道;管道在某种程度上是输入和输出重定向的结合,前一个命令的输出,作为下一个命令的输入,而不需要经过任何中间文件。竖线字符“|”是管道操作符,管道命令经常与上面讲的过滤命令联合使用。DOS的管道功能是使一个程序或命令的标准输出用做另一个程序或命令的标准输入。如把DEBUG的输入命令写入文件aaa, 用type命令通过管道功能将aaa的内容传输给DEBUG, 在DEBUG执行期间不再从控制台索取命令参数, 从而提高了机器效率。命令为: C:\>type aaa|DEBUG >bbb。
例如,这是我以前看到的例子。命令dir|more使得当前目录列表在屏幕上逐屏显示。dir的输出是整个目录列表,它不出现在屏幕上而是由于符号“|”的规定,成为下一个命令more的输入,more命令则将其输入,more命令则将其输入一屏一屏地显示,成为命令行的输出。再如命令dir|find”hello”>file,其中 dir的输出是当前目录列表,不出现在屏幕上而是成为find命令的输入。find命令在输入文件中寻找指定字符串"hello"并输出包含这个字符串的行,由于输出重定向符号>的规定,最后的输出已存入文件file,不出现在屏幕上。命令dir|find"< dir >file则是将当前目录项中的子目录项寻找出来并存入文件file中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 调用服务器端方法总结

javascript函数中执行C#代码中的函数&#xff1a; 方法一&#xff1a;1、首先建立一个按钮&#xff0c;在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数&#xff0c;内容为document.getElementById("btn1").click(); 3、在前台或…

[C语言 - 12] Union联合

union Student{int age;char *name;} stu;union只按照最长的数据成员分配控件&#xff0c;适用于有N个数据不会同时出现的情况&#xff0c;用以压缩空间。转载于:https://www.cnblogs.com/wvqusrtg/p/4501217.html

新闻数据采集php,PHP新闻采集在线源码

PHP新闻采集在线源码可以高效采集新闻网站内容&#xff0c;由于它是一种可以在服务器端执行的嵌入HTML文档的脚本语言&#xff0c;所以它支持在UNIX、LINUX、WINDOWS等系统下运行&#xff0c;而且消耗的系统资源很少。PHP新闻采集在线源码介绍全网采集采集任意互联网公开数据Aj…

[Objective-c 基础 - 1.3] OC带返回值的类方法

1 /*2 计算器类3 1>返回π4 2>计算两个整数的平方5 3>计算两个整数的和6 */7 8 9 #import <Foundation/Foundation.h> 10 11 interface Calculator: NSObject 12 //方法名:pi 13 - (double) pi; 14 15 //OC方法中&#xff0c;一个参数对应一个冒号: 16 /…

UCGUI的模拟器UCGUISim详解

From: http://www.cnblogs.com/shellstudio/articles/ucgui.html 本文转自www.ucgui.com感谢原作者(最近发现该网站已经撤销,不知道作者近况如何.想当初,他对我理解ucgui提供了很多支持和帮助呢!)。 联系方式: ucgui.comgmail.com 一、问题的由来-----模拟器完成了什么 在官方发…

php 最后几个字符,php怎么去掉最后三个字符

在php中&#xff0c;可以利用substr()函数来去掉字符串最后三个字符&#xff0c;该函数可以返回字符串的一部分&#xff1b;具体语法格式为“substr(指定字符串,0,-3)”。本教程操作环境&#xff1a;windows7系统、PHP7.1版&#xff0c;DELL G3电脑php去掉字符串最后三个字符he…

透过北京通信展看国产手机的崛起

透过北京通信展看国产手机的崛起<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />小刀马北京国际通信展已经落下了帷幕&#xff0c;多少繁花似锦都已归尘土&#xff0c;本届通信展到底给我们留下了什么印象什么回忆&#xff1f;大…

Spark(四) -- Spark工作机制

一、应用执行机制 一个应用的生命周期即&#xff0c;用户提交自定义的作业之后&#xff0c;Spark框架进行处理的一系列过程。 在这个过程中&#xff0c;不同的时间段里&#xff0c;应用会被拆分为不同的形态来执行。 1、应用执行过程中的基本组件和形态 Driver&#xff1a; 运…

Linux下查看文件和文件夹大小的df和du命令

From: http://www.yayu.org/look.php?id162 当磁盘大小超过标准时会有报警提示&#xff0c;这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点&#xff0c;但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配…

php打开就执行url,php执行URL解析

方法一&#xff1a;$url"http://www.baidu.com";file_get_contents($url);方法二&#xff1a;// CURL 方法$url"http://www.baidu.com";$ch curl_init( );curl_setopt( $ch,CURLOPT_URL,$url );curl_setopt( $ch,CURLOPT_HEADER,0 );curl_setopt( $ch,CUR…

java的classpath

转自&#xff1a;http://takkymj.javaeye.com/blog/734408 1、class搜索路径的重要性 理解class搜索路径对所有Java开发人员来说都很重要&#xff0c;但是&#xff0c;IDE的广泛使用掩盖了这项技术&#xff0c;使大家普遍对它缺乏了解&#xff0c;甚至包括好多老鸟。这个问题在…

深入react技术栈(12):组件内通信

我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣获取前后端知识 父组件向子组件传值 子组件向父组件传值 跨级组件通信 没有嵌套关系的组件通信 文章参考深入React技术栈

《迷宫》之站立会议—5.15

会议时间&#xff1a;7:10 内容&#xff1a; 还没怎么做&#xff0c;组长有些着急&#xff0c;表示快快做。 转载于:https://www.cnblogs.com/little-clever/p/4505113.html

Ubuntu出现没有正确安装GNOME电源管理器的默认配置

From: http://forum.ubuntu.org.cn/viewtopic.php?f139&t236972 Ubuntu启动的时候&#xff0c;在用户登录的界面&#xff0c;右上角出现“没有正确安装GNOME电源管理器的默认配置&#xff0c;请与计算机管理员联系”&#xff0c;如果是英文版&#xff0c;出现“GNOME Pow…

php青茶什么时候拆,青茶的香味应该如何评判(天赐露)

青茶的香味应该如何评判关注天赐露安溪铁观音。一站式采购青茶的香味评判 ---青茶是一个大茶类&#xff0c;商业上习惯称之为“乌龙茶”。其实&#xff0c;乌龙茶仅是青茶中的一个品种而已。青茶产于福建、广东和台湾三省&#xff0c;其他产茶省区几乎不生产&#xff0c;因此&a…

学习笔记----linux下编译samba

linux下编译samba一、samba的启动命令&#xff1a;#cd /usr/local/samba/sbin#smbd关闭samba可以杀死smbd进程二、samba 的配置文件和rpm的存放路径一样#vi /etc/samba/smb.conf三、samba的内部命令#cd /usr/local/samba/bin#smbpasswd u1...................四、编译samba的一…

C#中使用post请求方法请求表单-用于两个网站的交互

网站A中的后台代码&#xff1a; 1 //请求的URL2 HttpWebRequest request WebRequest.Create("http://192.168.1.132:86/test01.aspx") as HttpWebRequest;3 request.Method "po…

Samba服务器(一):windows访问samba服务器共享文件的简单实现(图文并茂)

From:http://linux.chinaunix.net/techdoc/beginner/2009/07/09/1122864.shtml 一、linux的文件共享&#xff08;当然也包括和windows进行文件共享&#xff09;一般有NFS, FTP, SSH SAMB等&#xff0c;但是以samba最为普遍和流行。下面就对samba服务器做个全面的介绍和讲解&…