linux学习第15天(dup和dup2)

头文件#include<unistd.h>

#include<fcntl.h>

用来做重定向,本质就是复制文件描述符

dup

int dup(int oldfd);

oldfd:旧的文件描述符

例子

编译执行,4这个文件描述符就指向3指向的内容,dup就到这

dup2

int dup2(int oldfd,int newfd);

newfd:新的文件描述符,指向oldfd指向的内容,是复制oldfd的新的文件描述符

例子1

编译执行,可以看到,fd2是新的文件描述符,指向fd1所指的,将fd2添加"1234321",可以看到,dup.c也就是fd1被修改了(强调一下,打开一个文件,读写指针默认在文件头,如果文件本身有内容,直接写入会覆盖原有内容。例子2因为文件没有关,hello world就在1234321后面加入。)

例子2

将原本输出到屏幕上的内容,输入到dup.c

编译执行,在执行dup2(fd1,STDOUT_FILENO)这一句后,后续打印到屏幕上的都将送入fd1中,

相关推荐
历程里程碑1 分钟前
Linux 18 进程控制
linux·运维·服务器·开发语言·数据结构·c++·笔记
爱装代码的小瓶子9 分钟前
【c++与Linux基础】文件篇(5)- 文件管理系统:
linux·开发语言·c++
小草cys10 分钟前
【有问题未解决】Ubuntu arm版的桌面分辨率修改
linux·arm开发·ubuntu
鱼是一只鱼啊14 分钟前
安装WSL及Ubuntu遇到问题安全频道支持出错
linux·安全·ubuntu
要开心吖ZSH17 分钟前
Spring AI Alibaba 个人学习笔记
人工智能·学习·spring·spring ai·springaialibaba
●VON18 分钟前
React Native for OpenHarmony:深入剖析 Switch 组件的状态绑定、无障碍与样式定制
javascript·学习·react native·react.js·von
EnglishJun19 分钟前
数据结构的学习(三)---双向链表与循环链表
数据结构·学习·链表
简佐义的博客20 分钟前
跟着Nature学习如何联合多组学snRNA-seq + snATAC-seq + WGS+空间转录组分析重构肿瘤亚克隆演化树
学习·重构
im_AMBER21 分钟前
Leetcode 112 两数相加 II
笔记·学习·算法·leetcode
xu_yule22 分钟前
网络和Linux网络-15(IO多路转接)reactor编程-服务器
linux·运维·服务器·c++