Unix/Linux编程实践教程–cp在OS X的实现

前端之家收集整理的这篇文章主要介绍了Unix/Linux编程实践教程–cp在OS X的实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境:OS X10.12.4

书中的代码对于OS X是适用的。值得提一嘴的是,其实OS X的open是可以在文件不存在的时候自动创建的,man 2 open时,就可以看到这个说明。

The oflag argument may indicate that the file is to be created if it does
not exist (by specifying the O_CREAT flag).  In this case,open() and
openat() require an additional argument mode_t mode; the file is created
with mode mode as described in chmod(2) and modified by the process'
umask value (see umask(2)).

只要在oflag中带有O_CREAT这个标识,就会自动创建不存在的文件

比如:

open(argv[2],O_WRONLY | O_CREAT,MODE);

MODE可以像书中所写,直接填0644,或者更优雅

#define MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH /* 0644 */

这些常量在man 2 chmod中有说明。

猜你在找的Bash相关文章