当前位置: 首页 > news >正文

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

http://www.dtcms.com/a/212169.html

相关文章:

  • GO 语言进阶之 进程 OS与 编码,数据格式转换
  • Docker(零):本文为 “Docker系列” 有关博文的简介和目录
  • 二叉树--oj1
  • 计算机基础核心课程
  • 详解Mysql redo log与binlog的两阶段提交(2PC)
  • 2025年AI代理演进全景:从技术成熟度曲线到产业重构
  • 加密货币投资亏损后,能否以“欺诈”或“不当销售”索赔?
  • 【JAVA】线程创建方式:继承Thread vs 实现Runnable(32)
  • LeetCode-图论-岛屿数量+腐烂的橘子
  • 【linux】mount命令中,data=writeback参数详细介绍
  • 分布式缓存:CAP 理论在实践中的误区与思考
  • 如何使用HiveSQL实现2个字符串间的映射及排序
  • 9. Spring AI 各版本的详细功能与发布时间整理
  • 平流层通信系统的深度论述:其技术成熟将推动通信范式从“地面-卫星”二元架构向“地-空-天”三维融合跃迁
  • 湖仓融合的“最后一公里”:StarRocks 存算分离如何优化湖上实时分析?
  • 【Java】多线程_创建线程的四种方式
  • 力扣第451场周赛
  • Java 的 synchronized
  • 在 Ubuntu linux系统中设置时区的方案
  • React从基础入门到高级实战:React 核心技术 - React Router:路由管理
  • 【操作系统】-4.3.1文件的层次结构
  • 计算机网络技术(二)
  • DAY33 简单神经网络
  • Leetcode 1651. Hopper 公司查询 III
  • 【NIPS 2024】Towards Robust Multimodal Sentiment Analysis with Incomplete Data
  • quill 富文本多张图片排序
  • 大语言模型的完整训练周期从0到1的体系化拆解
  • CS学习网站-geeksforgeeks介绍
  • 历年安徽大学保研上机真题
  • 原生php单元测试