欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-03-12 09:24:57
这篇文章主要介绍了Linux中使用touch命令修改文件时间的方法,用touch来更新文件的访问和修改时间非常讨巧,需要的朋友可以参考下... 16-01-31...

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

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

如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间。

长选项必须使用的参数对于短选项时也是必需使用的。

参数:
  -a                    只更改访问时间
  -c, --no-create       不创建任何文件
  -d, --date=字符串     使用指定字符串表示时间替代当前时间
  -f                    (忽略)
  -h, --no-dereference          会影响符号链接本身,替代符号链接所指示的目的地
                                (当系统支持更改符号链接的所有者时,此选项才有用)
  -m                    只更改修改时间
  -r, --reference=文件  使用指定文件的时间属性替代当前时间
  -t stamp              使用[[cc]yy]mmddhhmm[.ss] 格式的时间替代当前时间
  --time=word           使用word 指定的时间:access、atime、use 都等于-a
                        选项的效果,而modify、mtime 等于-m 选项的效果
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出

请注意,-d 和-t 选项可接受不同的时间/日期格式。

例:
touch 更新已有文件时间

复制代码
代码如下:

$ ls -l firefox_wallpaper.png
-rw-r--r-- 1 siu siu 309597 12月 20 15:03 firefox_wallpaper.png
$ touch firefox_wallpaper.png
$ ls -l firefox_wallpaper.png
-rw-r--r-- 1 siu siu 309597 1月 8 15:18 firefox_wallpaper.png

touch 无选项,会同时更新文件的修改时间和访问时间


touch 创建文件

复制代码
代码如下:

$ touch demo.c
$ ls -l
总用量 372
-rw-r--r-- 1 siu siu 0 1月 8 15:21 demo.c

 

touch -at 使用参数更新访问时间
首先看看原来的修改时间和访问时间,ls -lu用来查看访问时间

复制代码
代码如下:

$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 15:17 hs_err_pid2874.log

接着是更新过后的修改时间和访问时间


复制代码
代码如下:

$ touch -at 01081010 hs_err_pid2874.log
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log

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

touch -m 只更新修改时间

复制代码
代码如下:

$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ touch -m hs_err_pid2874.log
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 15:31 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log

由上面的示例可知,此处访问时间没有改变,而修改时间发生了变动

技巧:
1.可以用默认的当前时间来更新文件的访问时间和修改时间,也可以指定参数来更新

2.通常情况下,touch用的最多的地方还是在于创建新文件