为了解释清楚这两个函数,首先必须要有清楚 目录项 和 inode节点 两个概念。目录文件中存放的是文件名和对应的inode号码,统称为目录项。link和unlink函数分别是用来创建硬链接和删除硬链接的。两个函数中的操作都是原子操作。 函数原型: 函数参数: oldpath:源文件路径名 newpa ...
分类:
其他好文 时间:
2016-10-01 14:44:14
阅读次数:
498
chmod和fchmod函数分别可以用来修改文件和一个已经打开的文件的文件权限位。 函数原型: 函数参数: path:要操作的文件路径名 fd:要操作的文件描述符 mode:要修改的文件权限 返回值: 调用成功时返回 0 调用失败时返回 -1 参数mode可以为下列宏的组合 要注意的一点是: 进程使 ...
分类:
其他好文 时间:
2016-10-01 14:41:20
阅读次数:
156
文件有三种时间,分别是: 文件数据的最后访问时间 read函数会修改 文件数据的最后修改时间 write函数会修改 i 节点状态的最后更改时间 unlink函数会修改 要区分文件数据的修改时间和 i 节点状态更改时间,因为文件数据和 i 节点信息是分开存储的,有些系统调用只会影响 i 节点中的信息, ...
分类:
其他好文 时间:
2016-10-01 14:40:26
阅读次数:
210
umask函数用来设置权限屏蔽位。在进程中使用open或者creat函数来创建文件的时候可以为文件指定文件权限,而这些权限会受到权限屏蔽位的影响。 比如说我们想要设置的权限为0777,而umask的值为0002,那么最终创建的文件的权限将会是0775。 函数原型: 函数参数: mask:要设置的权限 ...
分类:
其他好文 时间:
2016-10-01 12:58:53
阅读次数:
159
记录文件属性的相关数据结构都是存在于内核空间中,在进程的用户空间中是直接访问不到这些数据结构的,只能通过操作系统提供的系统调用来访问。而stat等函数就是操作系统为用户进程提供的用来获取文件属性的系统调用。 函数原型: 函数参数: path:要操作文件的路径名 fd:要操作的文件描述符 buf:存放 ...
分类:
其他好文 时间:
2016-10-01 12:52:37
阅读次数:
310
dup和dup2函数是在进程中用来复制文件描述符的,可以实现文件共享。 函数原型: 函数参数: oldfd:要被复制的文件描述符 newfd:在dup2函数中指定的新文件描述符 返回值: oldfd:要被复制的文件描述符 newfd:在dup2函数中指定的新文件描述符 返回值: 调用成功返回新的文件 ...
分类:
其他好文 时间:
2016-10-01 12:51:42
阅读次数:
256
pread和pwrite函数是Linux提供的另外一种读取和写入文件的操作。pread函数的操作可以看作是顺序调用了lseek函数和read函数,同样pwrite函数也类似。 函数原型: 函数参数: fd:要操作的文件描述符 buf:在pread函数中表示存储读出数据的内存首地址,在pwrite函数 ...
分类:
其他好文 时间:
2016-10-01 12:51:16
阅读次数:
235
lseek函数用来设置当前文件偏移量。 函数原型: 函数参数: fd:要操作的文件描述符 offset:基于whence参数的偏移量 whence:参考点位置 返回值: fd:要操作的文件描述符 offset:基于whence参数的偏移量 whence:参考点位置 返回值: 调用成功时返回当前相对于 ...
分类:
其他好文 时间:
2016-10-01 12:51:11
阅读次数:
156
write函数用来在进程中向文件中写入内容。 函数原型: 函数参数: fd:要操作的文件描述符 buf:准备写入文件中的数据的内存首地址 count:希望写入的字节数 返回值: fd:要操作的文件描述符 buf:准备写入文件中的数据的内存首地址 count:希望写入的字节数 返回值: 调用成功时返回 ...
分类:
其他好文 时间:
2016-10-01 12:45:34
阅读次数:
153
在使用write函数向文件中写入数据的时候,并不是在调用了函数后数据就被写进了磁盘,操作系统在内核中设置了一块专门的缓冲区,数据会先被写入到内核的缓冲区中,等到缓冲区满了或者系统需要重新利用缓冲区的时候才会将此缓冲区排入到写队列中去,待到达队首的时候,将数据真正写入到磁盘当中。这就是延迟写,延迟写会 ...
分类:
其他好文 时间:
2016-10-01 12:41:08
阅读次数:
136