Linux操作系统是当今应用最广泛的操作系统,各种计算机设备和机器上都应用它,了解其管理文件或数据是非常重要的。其中包括更新文件创建、修改时间戳。
touch -t MMDDhhmm filename
在上面的指令中选项“-t”用于指定文件的时间,MMDD表示月日,hhmm表示小时分钟,filename表示需要更新时间戳的文件名。
如果想要更新多文件的时间,可以先用find指令查找带特定条件的文件,然后使用xargs指令来批量更新文件的时间戳。下面的命令可以有效地将当前的系统时间设置为指定目录下的所有文件的最新时间:
find $DIR -type f -exec touch {} +
其中$DIR指定需要更新时间的文件夹或文件的相对/绝对路径, -exec 选项表示执行touch指令,{} +表示将文件作为参数传递给touch指令。
如果想修改文件的访问和修改时间,可以使用下面的命令进行修改:
touch –date “2020-9-20 14:40:00” filename
也可以使用date指令来设置时间:
date -s “2020-9-20 14:40:00”
如果只想更新一个文件的访问和修改时间,可以使用-r(reference) 选项,以参考文件的时间来更新文件的时间戳。

touch -r “reference_file” filename
以上就是使用Linux更新文件时间戳的几种有效方法。如果需要更多灵活性,也可以使用Perl或PHP语言来设置文件的时间戳值。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
linux修改文件时间命令 我要将当前系统时间以yyyymmdd-HHMMSS格式重定向到另一个文件
touch -t [[CC]YY]MMDDHHMM[] test例如:2012年3月21日下午3点40分32秒touch -t 0.32 test
linux下,怎样同时修改一个目录下所有文件的创建时间?
在Linux中,文件没有“创建时间”这个说法。 Linux中的文件的时间属性只有三个:atime(access time)、mtime(Modified time)、ctime(Change time)。 不过,有时有人把ctime理解为create time(创建时间),这是不对的,为什么呢?因为,我们知道一个文件的创建时间只有一次,按这个理论,创建时间是不允许修改的,即一个文件一旦创建,它的ctime值就固定不变;但事实呢?是可以改变的。 atime指用户上次访问该文件(打开文件查看其中的内容)时的时间,只要一个用户访问该文件(不管以什么方式),atime的值都会改变,比如:修改一个文件的内容,必然要先打开文件,然后才会修改其中的内容,所以,修改一个文件时,不但会更新一个文件的mtime值,也会更新atime的值。 mtime指用户上次修改该文件中的内容的时间,只要用户修改该文件中的内容,那么mtime的值就会被更新。 ctime指该文件的属性上次被改变时的时间。 要想查看文件的属性,可以通过ls命令查看,比如:ls -l。 例如:你修改该文件的权限了或者改变该文件的硬链接数了,ctime的值都会被更新。 但是有一点,ctime的值更新,并不代表atime和mtime的值也更新,比如:你修改文件的权限,但并不代表你访问或修改了文件中的内容。 在做一些相应的操作时,文件的atime、mtime、ctime的值都会自动被更新。 正如前面所说,这些值是可以改变的,所以,我们可以通过touch命令来修改这三个属性的值。 其实,touch并不是用来创建一个新的、空的文件的,而是用来修改这三个属性的值的。 但为什么创建一个新的、空的文件呢?这是touch附带的一个功能,原因是:如果你提供的目标文件参数并不存在的话,那么touch就会出现错误,为了防止这种情况出现,touch命令就会默认创建一个所提供的目标文件参数;其实其他命令也是如此,有些命令,如果用户没有为它提供参数的话,它就会从标准输入设备读取参数,即让用户从标准输入设备输入参数,这样的命令比比皆是。 要想修改一个文件下的所有文件的时间属性,可以用touch命令,提供一个要修改时间属性类型的参数和时间值,然后跟着该文件夹下的所有文件,引用方式是使用 *(星号),它可以匹配一个文件夹下的所有文件。
linux下打包(文件更新时间)为指定时间的命令行怎么写?
在使用linux时,经常需要进行文件查找。 其中查找的命令主要有find和grep。 两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。 一命令基本格式:findpathexpression1.按照文件名查找(1)find/#在根目录下查找文件,表示在整个硬盘查找(2)find/#在/etc目录下文件(3)find/etc-name*srm*#使用通配符*(0或者任意多个)。 表示在/etc目录下查找文件名中含有字符串‘srm’的文件(4)find.-namesrm*#表示当前目录下查找文件名开头是字符串‘srm’的文件2.按照文件特征查找(1)find/-amin-10#查找在系统中最后10分钟访问的文件(accesstime)(2)find/-atime-2#查找在系统中最后48小时访问的文件(3)find/-empty#查找在系统中为空的文件或者文件夹(4)find/-groupcat#查找在系统中属于group为cat的文件(5)find/-mmin-5#查找在系统中最后5分钟里修改过的文件(modifytime)(6)find/-mtime-1#查找在系统中最后24小时里修改过的文件(7)find/-userfred#查找在系统中属于fred这个用户的文件(8)find/-size+c#查找出大于字节的文件(c:字节,w:双字,k:kb,m:mb,g:gb)(9)find/-size-1000k#查找出小于1000kb的文件3.使用混合查找方式查找文件参数有:!,-and(-a),-or(-o)。 (1)find/tmp-size+c-and-mtime+2#在/tmp目录下查找大于字节并在最后2分钟内修改的文件(2)find/-userfred-or-usergeorge#在/目录下查找用户是fred或者george的文件文件(3)find/tmp!-userpanda#在/tmp目录中查找所有不属于panda用户的文件二、grep命令基本格式:findexpression1.主要参数[options]主要参数:-c:只输出匹配行的计数。 -i:不区分大小写-h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数:\:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $:匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始。 \>:到匹配正则表达式的行结束。 []:单个字符,如[a]即a符合要求。 [-]:范围,如[a-z],即a、b、c一直到z都符合要求。 .:所有的单个字符。 *:有字符,长度可以为0。
发表评论