AUPE第三章文件I/O笔记

5 篇文章 0 订阅

1.fcntl在设置文件状态和标志时,要注意先取得现在的标志值,然后按照希望修改它,最后设置新标志。不

能只是执行F_SETFD或F_SETFL命令,这样会关闭以前设置的标志位。

2.在设置标志位时,之前的值为value,要设置的标志为flag,则value=value|flag,而value = value & ~flag则是关闭相应的标志位。

3.O_SYNC标志用于写文件时,会造成每次write都要等待,直到数据已经写到磁盘上再返回。在UNIX中,通常write只是将数据

排入队列,而实际的I/O操作则可能在以后的某个时刻进行。

4.ioctl函数是I/O操作的杂物箱。不能用其他函数表示的I/O操作通常都能用ioctl表示,如设置终端。

5.比较新的系统者提供名为/dev/fd的目录,其目录项是名为0,1,2等的文件。打开文件/dev/fd/n等效于复制描述符n.

fd = open("/dev/fd/0",mode);等效于fd = dup(0);

6.如果被打开的文件/dev/fd/xxx是只读的,但代码对其使用open函数打开,指定可写,即始调用成功,我们仍然不能对其写操作

7./dev/fd/xxx主要由shell使用。cat将命令行中的一个单独的-特别解释为一个输入文件名,指的是标准输入。如

filter file2|cat file1 - file3|lpr,首先cat读file1,接着读其标准输入也就是filter file2命令的输出,然后读file3,如若支持/dev/fd,则可以删除 cat

对-的特殊处理,于是我们就可键入下列命令行:

filter file2|cat file1 /dev/fd/0 file3|lpr,这样看起来清晰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值