Linux学习——I/O重定向和管道编程

本文详细介绍了Linux中的I/O重定向和管道编程。讲解了标准I/O、cat命令的使用,以及如何进行输出、错误和输入重定向。还阐述了重定向的原因,并举例说明了如何通过重定向符">"、">>"、"<"和"<<"操作文件。最后,文章解释了管道的概念,展示了如何使用管道连接不同命令以实现数据流的传递。

概念

I/O

运行一个程序时 , 需要从某个位置读取输入信息 , 然后 cpu 处理, 最后将输出显示到屏幕或文件进程通过文件描述符的编号通道来获取输入并输出。

标准I/O

用于IO的外部设备(逻辑上的外部设备)

在Linux中,一切设备皆文件。因此标准输入标准输出更具体的含义是文件

当我们使用文件描述符进行操作时,需要操作标准输入、标准输出、标准错误,可以包含如下头文件:

#include <unistd.h>

这个头文件定义了标准设备,当执行一个shell命令行时,通常会自动打开三个标准文件,即

#define STDIN_FILENO 0 / Standard input. /
—— 标准输入文件(stdin),默认接受来自键盘的输入;
#define STDOUT_FILENO 1 / Standard output. /
—— 标准输出文件(stdout) , 默认输出到终端窗口;
#define STDERR_FILENO 2 / Standard error output. */
—— 标准错误输出文件(stderr),默认输出到终端窗口,

由于STDOUT与STDERR都会默认显示在终端上,为了区分,就有了编号的0,1,2的定义(即文件描述符,分别为0, 1, 2),用1表示STDOUT,2表示STDERR。

进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。默认情况下,标准输出和标准错误都将被链接到屏幕上,并且都不保存在磁盘文件中。
在这里插入图片描述

cat命令
什么参数也没有

将标准输入内容复制到标准输出文件中

cat   // 回车;输入内容;同时按下Ctrl+D,告诉cat命令已经达到了标准输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值