touch 命令
Linux命令:touch
功能说明:
1. 创建空文件
2. 改变已有文件的时间戳信息
语法格式:
touch [OPTION]... FILE...
touch [选项] [文件]
参数
-a | 更改指定文件的最后访问时间 |
-d,--date=STRING | 使用指定的时间作为指定文件的时间属性 |
-m | 更改文件的最后修改时间 |
-r, --reference=FILE | 将指定文件的时间属性设置与模板文件file的时间属性相同 |
-c, --no-create | 若文件不存在,不创建该文件。若文件存在,更新最后修改时间(mtime) |
-h, --no-dereference | 只更新软链接文件mtime属性,源文件mtime不做变动 |
-t STAMP | 使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性 |
示例:
[root@backup ~]# touch 001.txt #<==== 创建文件 [root@backup ~]# ll total 4 -rw-r--r--. 1 root root 0 2020-11-04 18:45 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# stat 001.txt #<==== 查看文件的详细信息 File: ‘001.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67155031 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2020-11-04 18:45:17.031794550 +0800 #<==== 访问时间,查看文件内容,该属性会变化 Modify: 2020-11-04 18:45:17.031794550 +0800 #<==== 修改时间,修改文件内容,该属性会变化 Change: 2020-11-04 18:45:17.031794550 +0800 #<==== 状态改变时间,修改文件内容、查看文件内容、移动文件或改变文件属性,该属性都会变化 Birth: - [root@backup ~]# touch -a 001.txt #<==== 修改最后访问时间 [root@backup ~]# stat 001.txt File: ‘001.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67155031 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2020-11-04 18:46:03.877556067 +0800 Modify: 2020-11-04 18:45:17.031794550 +0800 Change: 2020-11-04 18:46:03.877556067 +0800 Birth: - [root@backup ~]# touch -m 001.txt #<==== 修改最后修改时间 [root@backup ~]# stat 001.txt File: ‘001.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67155031 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2020-11-04 18:46:03.877556067 +0800 Modify: 2020-11-04 18:48:28.407990777 +0800 Change: 2020-11-04 18:48:28.407990777 +0800 Birth: -
[root@backup ~]# touch -d 20191201 001.txt #<==== 使用指定时间更新文件时间属性(atime、mtime更新,ctime未变) [root@backup ~]# ll total 4 -rw-r--r--. 1 root root 0 2019-12-01 00:00 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# touch -r anaconda-ks.cfg 001.txt #<==== 使得anaconda-ks.cfg文件的时间属性与001.txt文件时间属性一致 [root@backup ~]# ll total 4 -rw-r--r--. 1 root root 0 2020-10-17 03:13 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# touch -c 001.txt #<==== 001.txt文件已存在,修改时间属性 [root@backup ~]# ll total 4 -rw-r--r--. 1 root root 0 2020-11-04 18:56 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# touch -c 002.txt #<==== 文件不存在,不进行创建 [root@backup ~]# ll total 4 -rw-r--r--. 1 root root 0 2020-11-04 18:56 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# touch -t 201802102345.17 001.txt #<==== 更新文件时间属性 [root@backup ~]# ll total 4 -rw-r--r--. 1 root root 0 2018-02-10 23:45 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg
[root@backup ~]# ll total 4 lrwxrwxrwx. 1 root root 7 2020-11-04 19:04 001_link.txt -> 001.txt -rw-r--r--. 1 root root 0 2019-12-03 00:00 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# touch -hd 20191010 001_link.txt #<==== 修改链接文件的时间属性,而不动源文件的时间属性 [root@backup ~]# ll total 4 lrwxrwxrwx. 1 root root 7 2019-10-10 00:00 001_link.txt -> 001.txt -rw-r--r--. 1 root root 0 2019-12-03 00:00 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg [root@backup ~]# touch -d 20191011 001_link.txt #<==== 修改链接文件,实际上是修改源文件时间属性 [root@backup ~]# ll total 4 lrwxrwxrwx. 1 root root 7 2019-10-10 00:00 001_link.txt -> 001.txt -rw-r--r--. 1 root root 0 2019-10-11 00:00 001.txt -rw-------. 1 root root 1594 2020-10-17 03:13 anaconda-ks.cfg