标准IO
stdin,stdout,stderr,分别是标准输入,标准输出,标准错误。windows和*nix下都有的。
默认情况下,标准输入相当于从键盘输入,标准输出和标准错误相当于向屏幕输出。
C语言中,这三个是FILE*类型(文件指针),例如你用printf,那么内容直接输出到标准输出,等价于fprintf(stdout,...);你用scanf,直接从标准输入读取,等价于fscanf(stdin,...)。
它们有什么用呢?对windows来说,好像只能用来写实验性的小程序。
实际上,*nix中,它们是用户界面的重要组成部分,另外,还可以用来做重定向。
IO重定向
重定向的基本用法,在*nix的shell中如下使用:
这里echo命令用来原样输出,>号把标准输出重定向到文件,随后用cat命令显示那个文件的内容。
再看一个重定向标准输入的例子:
这里用<号把文件的内容送给wc程序去统计字符数
管道
前面shell中的的输入输

本文介绍了*nix系统中IO重定向的基本用法,如利用>进行输出重定向,<进行输入重定向,以及管道|实现进程间的通信。通过示例展示了如何使用echo、cat和wc等命令配合重定向和管道完成特定任务。同时对比了*nix与Windows在命令行工具设计上的差异,强调了*nix中的过滤器模式和管道在组合小工具方面的能力。
最低0.47元/天 解锁文章
1448

被折叠的 条评论
为什么被折叠?



