数据流重定向

本文详细介绍了Linux数据流重定向,包括标准输入(STDIN),标准输出(STDOUT)和标准错误(STDERR)。通过重定向,可以将命令的输出保存到文件,或将输入从文件读取。文中讲解了如何使用<, >, >>及2>&1等符号进行不同类型的重定向,并通过实例解释了重定向的工作原理。" 134376072,10676987,YOLOv8夜间小目标检测:LEF模块与增强技术,"['目标检测', 'YOLO', '深度学习', '图像处理', '计算机视觉']
摘要由CSDN通过智能技术生成

         对于内核而言,所有打开的文件都是通过文件描述符引用。文件描述符是一个非负整数,当进程打开或创建一个文件时,内核向进程返回一个文件描述符。当读写文件时,文件描述作为一个标志,标识该文件(如系统调用read和write函数)。

        UNIX系统shell把文件描述符0与进程的标准输入相关联,把文件描述符1与进程的标准输出相关联,把文件描述符2与进程的标准错误关联。这些描述符被宏定义为符号常量。在/usr/include/unistd.h中可以查找到宏定义,如下:

/* Standard file descriptors.  */
#define	STDIN_FILENO	    0	/* Standard input.  */
#define	STDOUT_FILENO	1	/* Standard output.  */
#define	STDERR_FILENO	2	/* Standard error output.  */

        有时候我们也许会看STDIN,STDOUT,STDERR。这些和上述所说的引用相同,但这些是由C标准库stdio.h提供的,而上述的是系统调用函数库unistd.h提供的。一般Linux命令行的输入输出(就是键盘输入,终端显示)是由系统调用实现的。

        数据流重定向是将某个命令执行后,将结果显示在屏幕的数据传输到其他地方,将由键盘输入的数据,替代为从某个文件读入数据。

       执行一个命令,通常它是按如下方式进行:




         当执行一个命令时,命令从文件有标准输入读取,经过处理,若命令执行所回传正确的信息,由标准输出显示到终端。若命令执行失败,回传的错误信息由标准错误输出到终端。


Standard Output,Standard Error

        我们不能将错误和正确的信息都传送到屏幕,因此采用数据流输出重定向功能,可以将标准输出,标准错误分别传送到不同的文件和设备中。重定向采用的符号如下:

1、 标准输入(STDIN_FILEN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值