Linux命令touch——如何修改Linux文件的时间

今天因为要写一个Linux下的定时任务,就是删除三个月前的文件,写好了,需要测试下。但是苦于当前的Linux的系统找不到三个月前的文件。那就想到两种方案:1.修改os的时间,把系统时间调到三个月以后。这是一个办法。2.修改文件本身的建立时间。前面一个办法似乎见过的,后面的,只是此时想了,但是还不知道怎么办。那就尝试第二种办法。去网上搜了下,知道touch命令可以搞定(最早知道touch,是因为需要它来帮忙建立一个新的file,O(∩_∩)O~没想到它的用处还蛮多的嘛)。记录了下来。

我特意查看了下touch的Linux下的帮助,确实可以使用参数d来实现,帮助里是这样描述的:

-d, –date=STRING

parse STRING and use it instead of current time

这完全符合我的要求。先把touch的参数说明贴在这里:命令参数: -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@linuxidc test]# ls -ltotal 28drwxr-xr-x 2 root root 4096 Jan 9 15:47 1333-rwxrwxr-x 1 Oracle oinstall 8143 Jan 9 14:41 3.shdrwxr-xr-x 2 root root 4096 Jan 9 15:49 444-rw-r–r– 1 root root 0 Jan 9 14:41 4.sh-rwxr-xr-x 1 root root 8143 Jan 9 14:44 77.sh-rwxrwxr-x 1 root root 54 Jan 9 16:03 find.sh我想把所以的.sh文件修改到三个月前(2013年10月13)的时间。操作命令:[root@linuxidc test]# touch -d “10/13/2013” *.sh结果是:[root@linuxidc test]# ls -ltotal 28drwxr-xr-x 2 root root 4096 Jan 9 15:47 1333-rwxrwxr-x 1 oracle oinstall 8143 Oct 13 00:00 3.shdrwxr-xr-x 2 root root 4096 Jan 9 15:49 444-rw-r–r– 1 root root 0 Oct 13 00:00 4.sh-rwxr-xr-x 1 root root 8143 Oct 13 00:00 77.sh-rwxrwxr-x 1 root root 54 Oct 13 00:00 find.sh

另外也可以单独修改时间或者月份,如下以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。 touch -d “6:03pm” file

touch -d “05/06/2000” file

touch -d “6:03pm 05/06/2000” file

最糟糕的行为是抱怨,最易见效 的努力是从自己做起。

Linux命令touch——如何修改Linux文件的时间

相关文章:

你感兴趣的文章:

标签云: