总结的内容:
①对于未存在的文件:touch file1.txt 将会创建一个文件,且文件的最近使用时间和最近修改时间都是系统当前的文件
②touch file1.txt #对已经存在的文件,将会将文件的时间改成系统当前的时间
③touch -r file1 file2 #参考file1的内容修改file2的内容
-r file1 file2 就是根据file1 的内容修改 file2 的时间内容,也只修改atime 和 mtime
④touch -t 09100111 file1 #将file1的最后修改时间进行修改
touch -t 201201230123.23 #修改的比较完整些
⑤touch file1 -m -t 201212231020.36 # 只修改 modify 时间
touch file1 -a # 只修改 access 的时间
总结结束:
查看文件的具体属性可以使用的命令 ls -lh lsattr stat file 这几个命令
stat还是最牛X的,可以统计很多的详细的信息
root@Saiver:/tmp# stat a.php
File: `a.php'
Size: 47 Blocks: 8 IO Block: 4096 regular file
Device: fb00h/64256dInode: 158055 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-01-13 23:15:47.652595400 +0800 #最后一次读取时间
Modify: 2013-01-13 23:15:35.540605167 +0800 #最后一次修改内容时间
Change: 2013-01-13 23:15:35.540605167 +0800 #最后一次的改变文件的状态(拥有者,权限之类的)
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
即使复制文件,新文件的三个属性也都是当前系统的时间
touch命令改变文件的时间信息。
参数:
-a : 仅修改access time。
-m : 仅修改mtime。
-c : 仅修改时间,而不建立文件。
-r : 参照某个文件的时间记录。
-t : 后面可以接时间,格式为 [[CC]YY]MMDDhhmm[.SS] 如198408250310.20
如果不指定任何选项,则把文件最近使用时间和最近变更时间改成系统当前时间。如果不存在指定的文件,就生成一个大小为0的空文件。
#ll file1 --无文件
file1 not found
#touch file1 --生成一个空文件
#ll file1 --大小为0,时间为系统当前时间
-rw-r--r-- 1 root sys 0 Nov 9 17:10 file1
#date --过了1分钟,系统时间发生变化
Wed Nov 9 17:11:01 MST 2011
#touch file1 --变更文件的时间记录
#ll file1 --文件的时间改为当前时间
-rw-r--r-- 1 root sys 0 Nov 9 17:11 file1
#touch -t 09100111 file1 --MMDDhhmm,9月10日1点11分
#ll file1
-rw-r--r-- 1 root sys 0 Sep 10 01:11 file1
#touch file2
#ll file1 file2 --新生成file2文件
-rw-r--r-- 1 root sys 0 Sep 10 01:11 file1
-rw-r--r-- 1 root sys 0 Nov 9 17:15 file2
#touch -r file1 file2 --参照file1的时间记录,改写file2的时间信息
#ll file1 file2
-rw-r--r-- 1 root sys 0 Sep 10 01:11 file1
-rw-r--r-- 1 root sys 0 Sep 10 01:11 file2
阅读(1995) | 评论(2) | 转发(0) |