近来,随着Unix系统的不断普及,使用Unix系统的单位和个人也越来越多,特别是Linux的推出,更是风靡全球。基于Unix系统的编程也愈显重要。本文说明怎样在Unix系统下对文件和目录进行编程。是一个类似于Unix系统命令ls的程序,用于列出指定的目录中所有文件和子目录并计算出指定目录所用的磁盘空间。
lstat系统调用:这是一个非常有用的Unix系统调用,用来获取存储在一个I节点上的信息。它接受两个参数:一个字符串指针,指向说明一个文件的路径名;另一个是指向stat结构的指针,在这个结构中,存放着有关这个文件的信息。
Unix系统Stat结构包括以下成员:
st_mode:这个字段包含文件类型和它所具有的访问权限
st_ino:这个字段在一个给定的文件系统中***的标识了这个文件
st_dev:这个字段***地标识了包括这个文件的文件系统
st_rdev:如果I节点是一个特殊设备文件,则这个字段标识设备的类型
st_nlink:文件链接的个数
st_uid:文件属主的用户ID
st_gid:文件的用户组的组ID
st_size:文件的字节数
st_atime:文件数据最近一次被访问的时间
st_mtime:文件数据最近一次被更改的时间
st_ctime:文件状态最近一次被修改的时间
opendir:它打开一个指定的目录,并返回一个DIR类型的指针。DIR数据类型包含如下两个元素:
d_ino:文件I标识号,如果文件被删除,则d_ino为0
d_name:此目录下包含的文件名
readdir:它读出指定目录中的一个文件或子目录,并将指针移到下一个文件或子目录。
closedir:关闭相应的目录。
到这里,我们关于有关的Unix系统调用就讲解完了。
【编辑推荐】