[03]APUE:文件 I/O】的更多相关文章

[a] open #include <fcntl.h> int open(const char *path, int oflag, ... ,mode_t mode) 成功返回文件描术符, 失败返回 -1 oflag: O_RDONLY / O_WRONLY / O_RDWR / O_EXEC / O_APPEND / O_CLOEXEC / O_CREAT / O_EXCL / O_NONBLOCK / O_NOFOLLOW / O_SYNC / O_TRUNC / O_DSYNC ...…
博客链接: inux中的文件描述符与打开文件之间的关系 #include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> int main(int argc, char* argv[]) { int fd = open("hello", O_CREAT|O_RDWR|O_TRUNC, S_IRUSR|S_IWUSR); ) { printf(&q…
文件 IO 记录书中的重要知识和思考实践部分 Unix 每个文件都对应一个文件描述符(file descriptor),为一个非负整数,一个文件可以有多个fd, 后面所有与文件(设备,套接字等)有关操作都是围绕这个fd来的. 在shell中 < > 都为重定向符号,前者为重定向输入,后者为输出. 文件的打开 #include <fcntl.h> int open(const char *path, int flags, ... /* mode_t mode */); int ope…
文件操作相关 API:open, read, write, lseek, close. 多进程共享文件的相关 API:dup, dup2, fcntl, sync, fsync, ioctl. 文件操作 API open and openat 函数原型: #include <fcntl.h> int open(const char *path, int oflag, ... /* mode_t mode */ ); int openat(int fd, const char *path, in…
空洞的概念 linux 上普通文件的大小与占用空间是两个概念,前者表示文件中数据的长度,后者表示数据占用的磁盘空间,通常后者大于前者,因为需要一些额外的空间用来记录文件的某些统计信息或附加信息.以及切分为块的数据信息 (通常不会占用太多).文件占用空间也可以小于文件尺寸,此时文件内部就存在空洞了. 所谓空洞其实就是没有分配存储空间的数据块,当访问这些数据块时,系统返回 0,就如同读到空文件一般,当写这些块时,系统再实地分配对应的存储空间.其实这个和内存中的虚址地址与物理地址的概念非常相似--操作…
一.mkdir和rmdir函数 #include <sys/types.h> #include <sys/stat.h> int mkdir(const char *pathname, mode_t mode); 返回值:成功0,失败-1. mkdir函数创建一个空目录,.和..目录是自动创建的.所指定的文件存取许可权mode由进程的文件方式创建屏蔽字修改(命令行执行umask可查看) 常见的错误是指定与文件相同的mode(只指定读,写许可权).但是对于目录来说必须设置一个执行许可…
一.link.unlink.remove和rename 一个文件可以有多个目录项指向其i节点.使用link函数可以创建一个指向现存文件连接 #include <unistd.h> int link(const char *existingpath, const char *newpath); 返回值:成功为0,出错为-1 该函数创建一个新目录项newpath,指向现存文件existingpath,如果newpath已存在则返回出错. 为了删除一个现存的目录项,可以调用unlnk函数. #inc…
一.文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/details/6990656,总结一下 每一个进程其实对应了6个以上的ID,它们分别是:实际用户ID.实际组ID(我们实际上是谁,执行这个程序的用户和组),有效用户ID.有效组ID.附加组ID(用于文件访问权限检查),保存设置用户ID,保存设置组ID(由exec函数保存) 实际用户ID/实际组ID:当…
构成Oracle数据库的8种文件类型. 可以把这些文件分成以下几类. Instance相关 参数文件 parameter, initOra file, spfile 跟踪文件 trace file 警告文件 alert file 构成数据库的文件 数据文件 data file 临时文件 temp file 控制文件 control file 重做日志文件 redo log file 密码文件 password file 其他两种可选文件(备份和恢复相关) 修改跟踪文件 change tracki…
我们通过读取一个文件内容并将内容写入到另外一个文件中. fs.createWriteStream 写入文件其实 这个可以看文档 参考这个更全一店 https://www.jianshu.com/p/da360d98674d…