Linux操作之输入输出重定向和管道.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux操作之输入输出重定向和管道

Linux Linux LLiinnuuxx操作之输入输出重定向和管道 Unix下使用标准输入stdin和标准输出stdout,来表示每个命令的输入和输出,还使 用一个标准错误输出stderr用于输出错误信息。这三个标准输入输出系统缺省与控制终 端设备相联系在一起的。因此,在标准情况下,每个命令通常从它的控制终端中获取输 入,将输出打印到控制终端的屏幕上。 但是也可以重新定义程序的输入 stdin和输出stdout,将它们重新定向。最基本的用 法是将她们重新定义到一个文件上去,从一个文件获取输入,输出到另外的文件中等。 $ls ls.out $catls.out 这种输入输出重定向带来了极大的灵活性,可以将输出结果记录下来,也可以将程 序所需要的输入使用文件提前准备就绪,这样一来多次执行就不需要重新输入。 $echo “today is“out $date out 使用 标记表示输出结果采用添加的方式,将结果附加在文件out 后面,而不是简 单的将原有文件重新覆盖的方式。 更为灵活的方式是将输入输出和一个执行命令联系起来,而不是一个固定的文件。 $ls -l| grep mbox 上面的命令,将 ls-l的输入作为grep 的输入,这种方式称为管道。Unix提供了很 多功能强大的小命令,但使用管道将这些命令组合起来,就形成了非常强大的工具组合, 能完成非常复杂的工作。 Unix系统提供了一些特殊的设备文件,用在一些特殊情况下。例如一个特殊设备文 件为/dev/null,永远无法写满,写入的内容被系统立即丢弃。如果不想看到程序的输出, 可以使用它作输出。 $make world/dev/null 去除了屏幕输出,使整个程序执行过程非常平静。 管道文件 (转载 LINUX 下 C 入门) LINUX 还提供了 ;| 等等重定向操作符.在这些过滤和重 定向程序当中,都用到了管 Linux 操作系统 C 语言编程入门 [24 of 104] 道这种特殊的文件.系统调用pipe 可以创建一个管道. #includeunistd.h; int pipe(int fildes[2]); pipe 调用可以创建一个管道(通信缓冲区).当调用成功时,我们可以访问文件描述符fild es[0],fildes[1].其中fildes[0]是用来读的文件描述符,而fildes[1]是用来写的文件描 述符. 在实际使用中我们是通过创建一个子进程,然后一个进程写,一个进程读来使用的 程序已修改调过,正确: #include stdio.h #include stdlib.h #include unistd.h #include string.h #include errno.h #include sys/types.h #include sys/wait.h #define BUFFER 255 int main(int

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档