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

相关推荐
MY_TEUCK4 分钟前
Sealos 平台部署实战指南:结合 Cursor 与版本发布流程
java·人工智能·学习·aigc
ShineWinsu42 分钟前
对于Linux:动静态库的制作与原理的解析—下
linux·运维·服务器·进程·链接·虚拟地址空间·
RH2312112 小时前
2026.4.16Linux 管道
java·linux·服务器
handler012 小时前
Linux: 基本指令知识点(2)
linux·服务器·c语言·c++·笔记·学习
liuyukuan2 小时前
如何在win11上打开 WSL2(Windows 的 Linux 子系统)?
linux·windows
橙子也要努力变强3 小时前
Linux信号机制
linux·服务器·网络
炽烈小老头3 小时前
【每天学习一点算法 2026/04/20】除自身以外数组的乘积
学习·算法
shughui3 小时前
FinalShell / Xshell 完整教程(下载+安装+使用,2026最新版)
linux·fiddler·xshell·xftp·finalshell·远程连接工具
程序猿编码3 小时前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
pengyi8710153 小时前
私网IP映射公网基础原理,搭配代理IP远程访问入门
linux·服务器·网络