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 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
水巷石子1 小时前
备考系统架构设计师第一天
学习·架构·软考·设计·考试
Johny_Zhao2 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
是隼人2 小时前
buuctf-pwn inndy_echo(32位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
xian_wwq3 小时前
【学习笔记】深度认知系列-第16讲-提示词工程
人工智能·笔记·学习
洛阳纸贵3 小时前
MATLAB-matlab基础知识
学习·算法·matlab
落羽的落羽3 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生3 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹3 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker3 小时前
Linux学习25-harbor私有仓库部署
linux·运维·学习