Fork me on GitHub

touch命令

摘要: touch命令将每个文件的访问时间和修改时间改为当前时间。

1、命令简介

touch命令将每个文件的访问时间和修改时间改为当前时间。

2、用法

1
touch [选项]... 文件...

3、选项

1
2
3
4
5
6
7
8
9
-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 选项的效果

4、实例

实例1:在当前目录下建立一个空文件a.log

1
2
3
4
[root@oracledb dir1]# touch a.log
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:06 a.log

实例2:更新a.log的修改时间为当前时间

1
2
3
4
5
6
7
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:06 a.log
[root@oracledb dir1]# touch a.log
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:08 a.log

实例3:更新log1.log的时间和log2.log时间戳相同

1
2
3
4
5
6
7
8
9
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:08 a.log
-rw-r--r-- 1 root root 0 4月 16 21:12 b.log
[root@oracledb dir1]# touch -r a.log b.log
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:08 a.log
-rw-r--r-- 1 root root 0 4月 16 21:08 b.log

实例4:设定文件的时间戳

1
2
3
4
5
6
7
8
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:08 a.log
[root@oracledb dir1]# touch -t 201601011200.50 log.log
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 21:08 a.log
-rw-r--r-- 1 root root 0 1月 1 12:00 log.log
好记性不如烂笔头,生命不息,学习不止!

分享