Linux中使用touch命令来修改文件的时间

用法:touch[options]...file...将每个文件的访问和修改时间更改为当前时间。

除非使用-c或-h选项,否则不存在的文件将创建为空文件。

如果文件名是-,则执行特殊处理以更改文件相对于标准输出的访问时间。

长选项所需的参数对于短选项也是必需的。

参数:-a只改变访问时间-c、--no-create不创建文件-d、--date=string使用指定的字符串表示时间而不是当前时间-f(忽略)-h,--no-dereference影响符号链接本身,替换符号链接指示的目的地(此选项符号(仅当它支持更改链接的所有者时才有用)-m仅更改更改符号链接的所有者。
修改时间-r,--reference=file替换为指定文件的时间属性当前时间-tSTAMP替换为当前时间,使用[[CC]YY]MMDDhhmm[.ss]格式的时间--time=WORD使用WORD指定的时间。
access、atime和use都具有相同的效果:-a选项与修改和mtime的-m选项效果相同--help显示此帮助消息并退出--version显示版本信息并退出

-d和-。
t选项接受各种时间/日期格式。

示例:现有文件的触摸更新时间复制代码

代码为:

$ls-lFirefox_wallpaper.png-rw-r--r--1siusiu309597201512Mon:03Firefox_wallpaper。
png$touchFirefox_wallpaper.png$ls-lFirefox_wallpaper.png-rw-r--r--1siusiu309597Jan815:18Firefox_wallpaper.png

触摸没有选项,文件修改和访问时间会同时更新。

Touch创建文件复制代码

代码为:

$touchdemo.c$ls-l总使用量372-rw-r--r--1siusiu01月815:21demo.c

touch-at使用参数来更新访问时间。
原始修改和访问时间。
使用ls-lu查看访问时间。

代码如下。

$ls-l总使用量68-rw-r--r--1siusiu66350112月2316:51hs_err_pid2874.log$ls-lu总使用量68-rw-r--r--1siusiu663501月815:17hs_err_pid2874.log

然后更新修改和访问次数

复制代码

代码为:

$touch-at01081010hs_err_pid2874.log$ls-l总使用量68-rw-r--r--1siusiu66350231612月:51hs_err_pid2874.log$ls-lu总使用量68-rw-r--r--1siusiu663508101月:10hs_err_pid2874.log

修改时间没有变化,但是访问时间有变化,可以看到有。

touch-m仅更新修改时间。
复制代码。

代码如下。

$ls-l总使用量68-rw-r--r--1siusiu66350231612月:51hs_err_pid2874。
log$touch-mhs_err_pid2874.log$ls-l总使用量68-rw-r--r--1siusiu663501月815:31hs_err_pid2874.log$ls-lu总使用量68-rw-r--r--1siusiu663501月810:10hs_err_pid2874.log

从上面的例子可以看到,这里的访问时间没有改变,但是修改时间改变了。

提示:1。
您还可以使用默认当前时间来指定文件访问和修改时间以及要更新的参数。

2.通常,触摸最常见的用途是创建新文件。

Linux系统如何修改文件的时间

Linux系统文件创建时间无法通过touch命令修改,从而达到假装真实的效果。
下面介绍一下Linux下如何修改文件时间。
touch命令说明:-d、--date=STRINGparseSTRINGanduseitinsteadofcurrenttimetouch参数说明:命令参数:-a、--time=atime、--time=access或--time=use只更改访问时间。
-c或--no-create不要创建任何文档。
-d使用指定的日期和时间而不是当前时间。
-f该参数将被忽略,不会被处理,仅负责解决BSD版本touch命令的兼容性问题。
-m、--time=mtime或--time=modify仅更改更改时间。
-r将指定文档或目录的日期和时间设置为与参考文档或目录的日期和时间相同。
-t使用指定的日期和时间而不是当前时间。
--no-create不会创建新文件。
--help列出命令格式。
--version列出版本信息。
这里我们使用简单的修改文件时间。
示例:将系统中的部分文件修改为三个月前的时间:当前系统文件信息如下:[root@casetest]#ls-ltotal28drwxr-xr-x2rootroot4096Jan915:471333-rwxrwxr-x1oracleoinstall8143Jan914:413.shdrwxr-xr-x2rootroot4096Jan915:49444-rw-r--r--1rootroot0Jan914:414.sh-rwxr-xr-x1rootroot8143Jan914:4477.sh-rwxrwxr-x1rootroot54Jan916:03find.sh将所有.sh文件调整为三个月前的时间(10月13日))2015)。
运行命令:[root@casetest]#touch-d"10/13/2013"*.sh结果为:[root@casetest]#ls-ltotal28drwxr-xr-x2rootroot4096Jan915:471333-rwxrwxr-x1Oracleoinstall8143Oct1300:003.shdrwxr-xr-x2rootroot4096Jan915:49444-rw-r--r--1rootroot0Oct1300:004.sh-rwxr-xr-x1rootroot8143Oct1300:0077.sh-rwxrwxr-x1rootroot54Oct1300:00find.sh还可以单独修改时间或月份,如下所示,使用AM、PM或PM格式24小时。
该日期可以使用其他格式,例如May6,2000。
filetouch-d"6:03PM"filetouch-d"05/06/2000"filetouch-d"6:03PM06/05/2000"