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中,

相关推荐
searchforAI20 小时前
视频画面里的PPT怎么提取?视频转图文讲义的实操教程
人工智能·学习·ai·aigc·powerpoint·音视频·贴图
zzzyyy53820 小时前
利用AI整理进程池创建的思路和细节
linux
nashane20 小时前
HarmonyOS 6学习:文件打开方式应用重复的根治方案与最佳实践
学习·华为·harmonyos
解局易否结局20 小时前
从零上手 ops-transformer:一个有清晰路径感的学习计划
深度学习·学习·transformer
结衣结衣.20 小时前
走进机器学习:新手必看的完整入门指南
人工智能·python·学习·机器学习
xian_wwq21 小时前
【学习笔记】探讨大模型应用安全建设系列5——供应链安全与数据防护
笔记·学习
zandy101121 小时前
2026 主流技术栈:hermes agent多环境安装配置:Windows/Mac/Linux
linux·windows·macos
s_w.h21 小时前
【 linux 】理解进程状态
linux·运维·服务器
solicitous21 小时前
学习了解充电桩协议OCPP-架构与拓扑
学习·充电桩
Fcy64821 小时前
Linux下 动、静态库的制作、使用与原理和ELF文件解析
linux·elf·动、静态库