免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5236 | 回复: 0
打印 上一主题 下一主题

stat结构体成员的意义? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-11 22:45 |只看该作者 |倒序浏览
include <sys/stat.h>
#include <linux/fs.h>
main()
{
        struct stat buf,buf2;
        system("touch f1");
        stat("f1",&buf);
        stat("/dev/hda1",&buf2);
        printf("f1 dev=%u %u %u\n",buf.st_dev,MAJOR(buf.st_dev),MINOR(buf.st_dev));
        printf("f1 rdev=%u %u %u\n",buf.st_rdev,MAJOR(buf.st_rdev),MINOR(buf.st_rdev));
        printf("f1 block size=%u\n",buf.st_blksize);
        printf("f1 block num=%u\n",buf.st_blocks);
        printf("f1 atime:%s",ctime(&buf.st_atime));
        printf("f1 mtime:%s",ctime(&buf.st_mtime));
        printf("f1 ctime:%s\n",ctime(&buf.st_ctime));
        
        printf("hda dev=%u %u %u\n",buf2.st_dev,MAJOR(buf2.st_dev),MINOR(buf2.st_dev));
        printf("hda rdev=%u %u %u\n",buf2.st_rdev,MAJOR(buf2.st_rdev),MINOR(buf2.st_rdev));
        printf("hda block size=%u\n",buf2.st_blksize);
        printf("hda block num=%u\n",buf2.st_blocks);
        printf("hda atime:%s",ctime(&buf2.st_atime));
        printf("hda mtime:%s",ctime(&buf2.st_mtime));
        printf("hda ctime:%s",ctime(&buf2.st_ctime));
               
}

这个例子想打印两种文件的i节点中的信息,出来的结果是这样的

[root@localhost mytest]# ./a.out
f1 dev=9 0 0
f1 rdev=0 0 0
f1 block size=1024
f1 block num=1
f1 atime:Thu Oct 11 00:00:00 2007
f1 mtime:Thu Oct 11 22:39:18 2007
f1 ctime:Thu Oct 11 22:39:18 2007

hda dev=2049 0 8
hda rdev=769 0 3
hda block size=4096
hda block num=0
hda atime:Thu Jan 30 18:24:36 2003
hda mtime:Thu Jan 30 18:24:36 2003
hda ctime:Thu Apr 13 17:54:41 2006


我想问一下
(1)为什么f1文件的atime的时间都是0?
(2)atime是最后一次存取访问时间,是不是最后一次读或写的时间?
       mtime是最后一次修改时间,是不是最后一次写或修改i节点的时间?
       ctime是最后一次属性修改时间,是不是仅仅是修改i节点的时间?
(3)dev是文件所在的设备ID,是磁盘吗?还是具体的某个分区?为什么值为9呢?用major和minor怎么返回为0 啊?
(4)两种文件的block size不同,是因为文件系统不同吗?

[ 本帖最后由 wkathy 于 2007-10-11 23:09 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP