当前位置: 技术问答>linux和unix
linux中文件访问时间的问题。。
来源: 互联网 发布时间:2017-01-02
本文导语: linux中有没有什么办法让一次访问文件后,文件的访问时间(st_atime)不变? 或者改变这个值? | owenliang@localhost cAndCpp.dir]$ ls csdnc csdn.c csdncpp csdn.cpp [owenliang@localhost cAndCpp.dir]$ ls -l csdn.cpp -rw-r...
linux中有没有什么办法让一次访问文件后,文件的访问时间(st_atime)不变?
或者改变这个值?
或者改变这个值?
|
owenliang@localhost cAndCpp.dir]$ ls
csdnc csdn.c csdncpp csdn.cpp
[owenliang@localhost cAndCpp.dir]$ ls -l csdn.cpp
-rw-rw-r-- 1 owenliang owenliang 345 06-08 06:38 csdn.cpp
[owenliang@localhost cAndCpp.dir]$ ls -lu csdn.cpp
-rw-rw-r-- 1 owenliang owenliang 345 06-08 06:39 csdn.cpp
[owenliang@localhost cAndCpp.dir]$ ./csdn ./csdn.cpp
bash: ./csdn: 没有那个文件或目录
[owenliang@localhost cAndCpp.dir]$ ./csdnc ./csdn.cpp
current time is : Mon Jun 8 09:06:21 2009
[owenliang@localhost cAndCpp.dir]$ ls -l csdn.cpp
-rw-rw-r-- 1 owenliang owenliang 345 06-08 07:06 csdn.cpp
[owenliang@localhost cAndCpp.dir]$ ls -lu csdn.cpp
-rw-rw-r-- 1 owenliang owenliang 345 06-08 08:06 csdn.cpp
[owenliang@localhost cAndCpp.dir]$ date
2009年 06月 08日 星期一 09:07:06 CST
[owenliang@localhost cAndCpp.dir]$
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8
9 int main(int argc,char* argv[])
10 {
11 if(argc==1)
12 {
13 fprintf(stderr,"no input....n");
14 return 3;
15 }
16
17 time_t cur=time(NULL);
18
19 if(cur==-1)
20 {
21 fprintf(stderr,"%sn",strerror(errno));
22 return 1;
23 }
24
25 printf("current time is : %sn",ctime(&cur));
26
27 utimbuf ub;
28 ub.actime=cur-1*60*60; //访问时间1小时前
29 ub.modtime=cur-2*60*60; //修改时间2小时前
30
31 if(utime(argv[1],&ub)==-1)
32 {
33 fprintf(stderr,"%sn",strerror(errno));
34 return 2;
35 }
36
37 return 0;
38 }
我也试了一下。