atime指用户上次访问该文件(打开文件查看其中的内容)时的时间,只要一个用户访问该文件(不管以什么方式),atime的值都会改变,比如:修改一个文件的内容,必然要先打开文件,然后才会修改其中的内容,所以,修改一个文件时,不但会更新一个文件的mtime值,也会更新atime的值。
mtime指用户上次修改该文件中的内容的时间,只要用户修改该文件中的内容,那么mtime的值就会被更新。
ctime指该文件的属性上次被改变时的时间。要想查看文件的属性,可以通过ls命令查看,比如:ls -l。例如:你修改该文件的权限了或者改变该文件的硬链接数了,ctime的值都会被更新。但是有一点,ctime的值更新,并不代表atime和mtime的值也更新,比如:你修改文件的权限,但并不代表你访问或修改了文件中的内容。
在做一些相应的 *** 作时,文件的atime、mtime、ctime的值都会自动被更新。
正如前面所说,这些值是可以改变的,所以,我们可以通过touch命令来修改这三个属性的值。其实,touch并不是用来创建一个新的、空的文件的,而是用来修改这三个属性的值的。但为什么创建一个新的、空的文件呢?这是touch附带的一个功能,原因是:如果你提供的目标文件参数并不存在的话,那么touch就会出现错误,为了防止这种情况出现,touch命令就会默认创建一个所提供的目标文件参数;其实其他命令也是如此,有些命令,如果用户没有为它提供参数的话,它就会从标准输入设备读取参数,即让用户从标准输入设备输入参数,这样的命令比比皆是。
要想修改一个文件下的所有文件的时间属性,可以用touch命令,提供一个要修改时间属性类型的参数和时间值,然后跟着该文件夹下的所有文件,引用方式是使用 *(星号),它可以匹配一个文件夹下的所有文件。
date -s 05/06/2013修改年月日为2013年5月6日, date -s 09:30:00设置系统时间为09:30:00,clock显示的为CMOS记录的时间,如果要以date的时间为准,那么设置完date之后,记得用clock -w命令写入CMOS,使两个时间一致。
Linux下修改文件创建时间(修改文件更改时间)
进到要改的文件目录里
find . -name “*” -exec touch ‘{}’ \
注:最后一定要加分号,{}外一定要加单引号,*表示所有的文件(. 代表当前目录下)
如果只修改单个文件
1.创建文件 touch tm //名字随便起
2.touch -r tm liunx-2.6.30.4(要改的文件名)//就是把Linux-2.6.30.4文件的时间改为tm文件的时间
使用权限:所有使用者
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
说明:
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
参数:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。
用一个linux机器做时间服务器,让其他的机器自动做时间同步。然后每次时间有变化,只更新服务器就行了。
简单的shell脚本很难完成登录系统,并执行脚本的功能。
可以考虑用python或者expect
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)