lienhua342014-09-161 文件的时间每个文件都有三个时间字段,如表 1 所示。表 1: 文件的三个时间字段说明字段st_atime文件数据的最后访问时间st_mtime文件数据的最后修改时间st_ctimei 节点状态的最后更改时间最后修改时间是文件内容最后一次被修改的时间。更改状态...
分类:
其他好文 时间:
2014-09-16 23:23:21
阅读次数:
353
lienhua342014-09-151 文件系统数据结构UNIX 文件系统通过 i 节点来存储文件的信息。如图 1 所示为一个磁盘柱面上的 i 节点和数据块示意图。其中 i 节点是一个固定长度的记录项,它包含了有关文件的大部分信息。数据块用于存储文件的实际内容。每个文件的 i 节点会记录该文件的内...
分类:
其他好文 时间:
2014-09-15 22:29:59
阅读次数:
286
lienhua342014-09-101 文件访问权限在文件访问权限和进程访问控制中,我们已经讲述过文件访问权限位,为了方便,我们重新列在下面,表 1: 文件的 9 个访问权限位st_mode 屏蔽意义S_IRUSR用户 -读S_IWUSR用户 -写S_IXUSR用户 -执行S_IRGRP组 -读S...
分类:
其他好文 时间:
2014-09-10 23:37:41
阅读次数:
331
lienhua342014-09-03通过前面一篇随笔(文件访问权限与进程访问控制),我们知道内核校验文件的访问权限使用的是进程的有效用户 ID 和有效组 ID。但有时我们需要知道当前登录用户对某个文件访问权限。虽然说进程的有效用户 ID 和有效组 ID 通常分别等于当前登录用户 ID 和用户所在组...
分类:
其他好文 时间:
2014-09-03 21:11:37
阅读次数:
203
lienhua342014-09-021 文件的设置用户 ID位 和设置组 ID位与进程相关联的 ID 如下表所示,表 1: 与进程相关联的用户 ID 和组 ID实际用户 ID我们实际上是谁实际组 ID有效用户 ID用于文件访问权限检查有效组 ID附加组 ID保存的设置用户 ID由 exec 函数保...
分类:
其他好文 时间:
2014-09-02 22:47:35
阅读次数:
244
lienhua342014-09-011 文件类型我们平时最常接触的文件类型有普通文件(regular file)和目录(di-rectory file),但是 UNIX 系统提供了多种文件类型:(1) 普通文件(regular file)这种文件包含了某种形式的数据,这些数据无论是文件还是二进制对...
分类:
其他好文 时间:
2014-09-01 23:59:13
阅读次数:
513
lienhua342014-08-29fcntl 函数可以改变已打开的文件的性质。#include int fcntl(int filedes, int cmd, ... /* int arg */);fcntl 函数有 5 种功能:1. 复制一个现有的描述符(cmd=F_DUPFD)。2. 获取/...
分类:
其他好文 时间:
2014-08-30 01:09:48
阅读次数:
343
lienhua342014-08-23UNIX 提供了两个函数 dup 和 dup2 用于复制一个现存的文件描述符。#include int dup(int filedes);int dup2(int filedes, int filedes2);返回值:若成功则返回新的文件描述符,如出错则返回-1...
分类:
其他好文 时间:
2014-08-28 23:59:06
阅读次数:
449
lienhua342014-08-27内核使用三种数据结构表示打开的文件,分别是文件描述符表、文件表和 V 节点表。(1) 每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,每个描述符占用一项。与每个文件描述符相关联的是: (a) 文件描述符标志。 (b) 指向一个文件表项的指针...
分类:
其他好文 时间:
2014-08-27 23:26:58
阅读次数:
297
lienhua342014-08-251 文件描述符对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读或写一个文件时,使用 open 或 creat 返回的文件描述符标识该文件,将其作为参数传送给 re...
分类:
其他好文 时间:
2014-08-26 00:10:35
阅读次数:
409