通过c程序更改文件的ctime和mtime

Posted su-han

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过c程序更改文件的ctime和mtime相关的知识,希望对你有一定的参考价值。

通过c程序更改文件的ctime和mtime与某个文件相同

源文件words.txt
[[email protected] ~]# ll words.txt ;ll words.txt -u
-rw-r--r-- 1 root root 740 7月  14 2007 words.txt
-rw-r--r-- 1 root root 740 6月  12 09:33 words.txt
新建测试文件text.txt
[[email protected] ~]# touch text.txt
[[email protected] ~]# ll text.txt;ll text.txt -u
-rw-r--r-- 1 root root 23 6月  21 09:20 text.txt
-rw-r--r-- 1 root root 23 6月  21 09:20 text.txt
创建c程序
[[email protected] ~]# vim atimemtime.c 

#include <sys/stat.h>
#include <fcntl.h>
#include <utime.h>
/*#include <quit.h>*/

int main(int argc,char **argv) {
   struct stat statbuf;
   struct utimbuf timebuf;

   lstat(argv[1],&statbuf);
   timebuf.actime=statbuf.st_atime;
   timebuf.modtime=statbuf.st_mtime;
   utime(argv[2],&timebuf);
   close(argv[2]);

}
将c文件编译,编译后的文件名为testc
[[email protected] ~]# gcc -o testc atimemtime.c 
修改测试文件text.txt的时间为words.txt的访问时间和修改时间
[[email protected] ~]# ./testc words.txt text.txt
[[email protected] ~]# ll text.txt;ll text.txt -u
-rw-r--r-- 1 root root 23 7月  14 2007 text.txt
-rw-r--r-- 1 root root 23 6月  12 09:33 text.txt

 

以上是关于通过c程序更改文件的ctime和mtime的主要内容,如果未能解决你的问题,请参考以下文章

Linux下find , atime, ctime,mtime

mtime,ctime,atime

Linux中ctime mtime atime文件时间的区别

文件的时间属性atime,mtime,ctime

linux系统中的三个time:atimemtimectime

ctime,atime,mtime