2 ydj2006 ydj2006 于 2013.06.20 16:51 提问

linux系统,只写文件,为什么stat结构中的st_ctime也会改变

测试代码如下
int fd = open("./testfile",O_WRONLY);
write(fd,"aa",2);
close(fd);

每次运行以后用stat testfile命令查看,change time都会改变

这个字段不是只有chown或chmod时才会变吗?

1个回答

oyljerry
oyljerry   Ds   Rxr 2014.12.28 16:05

Change time,指最近一次的文件(目录)的inode信息被改变的时间.在上面的'Modify time'的例子中可以看到,Change time同时也发生了变化.这是因为文件的内容被修改后,相应的信息也会发生变化,比如文件大小'Size'.

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
4.18 st_atime、st_mtime和st_ctime成员-文件时间属性
文件属性包括数据属性和管理属性。所谓数据属性就是文件所记录的数据,是创建一个文件的真正目的。而管理属性则是出于管理目的而产生的信息,例如文件名、文件创建时间、文件修改时间、文件权限、文件用户ID和文件组ID,这些都是出自于管理目的而产生的,并随着管理的变动而变动。stat结构(参考《4.2 stat函数》)反映的信息全部为文件的管理属性。 stat.st_atime(数据的最后访问时间)、sta
Linux下的atime mtime ctime及如何用touch来修改
Linux文件下通常有三个时间参数: (1)modification time(mtime):内容修改时间     这里的修改时间指的是文件的内容发生变化,而更新的时间。 (2)change time(ctime):状态修改时间     这里的修改时间指的是文件的属性或者权限发生变化,而更新的时间。 (3)access time(atime):最后访问
linux中stat()函数与st_mode用法
头文件:#include   #include 定义函数:int stat(const char * file_name, struct stat *buf); 函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中。 下面是struct stat 内各参数的说明: struct stat {     dev_t st_de
linux 下文件的3种时间状态 atime ctime mtime
我们在windows下新建一个文件,我们知道它在保存的时候肯定是会保存一下文件的创建时间之类的信息的。 看它的属性是可以看到保存了这个文件的创建时间、修改时间、和访问时间三个时间。 那么在linux中是怎样的,我们在linux中新建一个文件,然后用stat命令查看文件信息,如下图: 只是如果刚刚创建一个文件,毋庸置疑它的三个时间是都等于创建时间的,如上
Linux命令之stat命令、inode内容--ctime,mtime,atime的区别
#1. [root@localhost tmp]# stat 1.txt    File: `1.txt'   Size: 8               Blocks: 8          IO Block: 4096   regular file Device: 802h/2050d      Inode: 196617      Links: 1 Access: (0644/-rw
linux下文件的三个时间 atime,ctime,mtime及其如何改变
在wndows系统下,我们常常会看到文件的时间,而在Linux下文件也有三个时间,分别是:访问时间(Access time), 状态时间(Modify time),修改时间(Change time)。在linux下我们通常通过stat 这条命令来查看这三个时间,首先我们要有一个已经存在的文件,或者新建一个文件,然后通过stat这条命令去查看文件时间。 因为之前我已经建好了一个叫test5.c的
stat和三种时间、及其touch对三种时间的修改详解
这是学习Linux以来写的第一篇博客,对于这新的一门学科和OS,我的心里还是充满忐忑与激动的,以下是我关于stat和三种时间的总结: 1.三种时间详解: ² atime是在读取文件或者执行文件时更改的; ² mtime是在写入文件时随文件内容的更改而更改的,即文件内容最后的修改时间; ² ctime是在写入文件、更改所有者、权限或链接设置时随lnode的内容更改而更改的; 2.tou
Linux下对文件创建、修改、访问时间的一些操作
学习,stat,lstat,fstat 1 函数都是获取文件(普通文件,目录,管道,socket,字符,块()的属性。 函数原型 #include int stat(const char *restrict pathname, struct stat *restrictbuf); 提供文件名字,获取文件对应属性。 int fstat(int filedes, struct s
Linux下stat + 文件名后, Access,Modify,Change的含义
我们首先在一个目录下创建了一个文件使用命令touch file 然后输入命令:stat file,这个时候会输出一系列信息 大家注意红色框中的三个时间 Access : 文件最近一次被访问的时间 Modify:  文件内容最近一次被修改的时间 Change: 文件属性最近一次被改变的时间 接着我使用vim file打开文件并编辑,然后保存退出,这个时候再
centos6.4 /etc/resolv.conf文件改了重启网络就自动还原了
最近重新搭建oracle12c rac环境时,更改了/etc/resolv.conf文件重启网络或重启系统后,会被重新还原。 后来经过排查,可如下解决: 1、禁用NetworkManager服务 停用NetworkManager服务 [root@rac1 ~]# service NetworkManager stop 查看是否成功: [root@rac1 ~]# servic