dup dup2

dup- duplicate的意思,复制
通过man手册里面也可以看到dup的作用是duplicate a file descriptor

dup和dup2的不同之处在于,dup分配的文件描述符是系统自动分配的,找到最小的然后自动分配,而dup2的话属于有半操作性吧,就是你可以规定分配哪个文件描述符。

说了这些,那到底有什么作用呢。
可以利用dup和close来对文件进行重定位。
比如标准IO对应的文件描述符是1,大概思路就是先关闭1,然后把open的文件的文件描述符用dup(默认分配当前最小的空闲的描述符)或者dup2(自己分配的)与1进行绑定,(说人话),也就是open的文件描述符与标准输入输出的是一样的,这个时候与标准IO相关的信息都会关联到这个文件里面(例如printf的信息)

两种方法,一种是真的自己写,另外一种是在terminal的时候加上>符号来实现。
例如,在terminal里面输入ls执行,会显示当前文件夹的文件信息,但是变成ls >read.txt 之后,在terminal里面不会显示,反而所有的信息都会被输出到你指定的当前文件夹的read.txt 里面,当然你也可以自己指定路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值