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

相关推荐
星沉地动20 分钟前
Makefile参考样例5:多个文件夹.c和.cpp混合编译
linux
街灯L21 分钟前
【Linux】Tomcat搭建
java·linux·服务器·tomcat
riverz122731 分钟前
‘Target closed‘ error in Puppeteer解决
linux
GineLee39 分钟前
吉林大学操作系统期末复习整理
linux·服务器·经验分享·架构·硬件工程·安全架构
就叫飞六吧1 小时前
VMware安装Ubuntu并实现root远程登录
linux·运维·ubuntu
Ivy烎1 小时前
STM32学习笔记
笔记·stm32·学习
潇-xiao1 小时前
Makefile的通用模板 + 倒计时小程序(13)
linux·makefile
我叫黑大帅2 小时前
【Linux网络配置实验】Web配置
linux
八一考研数学竞赛3 小时前
第十七届全国大学生数学竞赛初赛模拟试题
学习·数学·latex·全国大学生数学竞赛
tq10863 小时前
值类:Kotlin中的零成本抽象
java·linux·前端