touch 命令详解
touch命令两个功能:
-
用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
-
用来创建新的空文件。
语法
touch (选项) (参数)
最常用用法:touch fileA
- 如果fileA存在,使用touch指令可更改这个文件或目录的日期时间,包括存取时间和更改时间;
- 如果fileA不存在,touch指令会在当前目录下新建一个空白文件fileA。
参数
使用范例:
- 创建不存在的文件
touch test1.txt test2.txt
[root@MLibra tmp]# touch test1.txt test2.txt
[root@MLibra tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 30 14:54 test1.txt
-rw-r--r-- 1 root root 0 Nov 30 14:54 test2.txt
- 如果test3不存在,则不创建文件
touch -c test3.txt
[root@MLibra tmp]# touch -c test3.txt
[root@MLibra tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 30 14:54 test1.txt
-rw-r--r-- 1 root root 0 Nov 30 14:54 test2.txt
- 更新test1.txt的时间和test2.txt时间戳相同
touch touch test1.txt test3.txt
[root@MLibra tmp]# ll test1.txt test3.txt
-rw-r--r-- 1 root root 0 Nov 30 14:54 test1.txt
-rw-r--r-- 1 root root 0 Nov 30 14:58 test3.txt
[root@MLibra tmp]# touch test1.txt test3.txt
[root@MLibra tmp]# ll test1.txt test3.txt
-rw-r--r-- 1 root root 0 Nov 30 14:58 test1.txt
-rw-r--r-- 1 root root 0 Nov 30 14:58 test3.txt
[root@MLibra tmp]#
- 设定文件的时间戳
touch -t 201808080808 test1.txt
[root@MLibra tmp]# ll test1.txt
-rw-r--r-- 1 root root 0 Nov 30 14:58 test1.txt
[root@MLibra tmp]# touch -t 201808080808 test1.txt
[root@MLibra tmp]# stat test1.txt
File: 'test1.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 11041 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-08-08 08:08:00.000000000 +0800
Modify: 2018-08-08 08:08:00.000000000 +0800
Change: 2016-11-30 15:01:03.959402702 +0800
Birth: -
- 将后面的时间改成前面的时间,将test2.txt的时间改为test1.txt的时间。
touch -r test1.txt test2.txt
[root@MLibra tmp]# ll
总用量 0
-rw-r--r-- 1 root root 0 8月 8 2018 test1.txt
-rw-r--r-- 1 root root 0 11月 30 14:54 test2.txt
-rw-r--r-- 1 root root 0 11月 30 14:58 test3.txt
[root@MLibra tmp]# touch -r test1.txt test2.txt
[root@MLibra tmp]# ll
总用量 0
-rw-r--r-- 1 root root 0 8月 8 2018 test1.txt
-rw-r--r-- 1 root root 0 8月 8 2018 test2.txt
-rw-r--r-- 1 root root 0 11月 30 14:58 test3.txt
- 把所以的.txt文件修改到2013年10月13日的时间。操作命令:
touch -d "10/13/2013" *.txt
[root@MLibra tmp]# touch -d 20161013 *.txt
[root@MLibra tmp]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 13 00:00 test1.txt
-rw-r--r-- 1 root root 0 10月 13 00:00 test2.txt
-rw-r--r-- 1 root root 0 10月 13 00:00 test3.txt
更多用法
7. 不带任何选项下运行 touch
8. 只改变访问时间
9. 只改变修改时间
10. 更改为自定义时间戳
11. 改变日期和时间的另一种方式
12. 改变时区
13. 结合参数下使用-d选项
14. 创建一个空文件
15. 同时创建多个文件
Shanjkun: 介质厚度怎么计算啊
LacyExsale: “注:以下的使用方式是,先同时按 ctrl和w(即ctrl+,没有“+”),然后松手,然后再按后面的命令” 感谢博主,一直是连续按不松手,难怪不生效,这句话解答一切疑惑
善良的龙夫山泉2.0: 写的真好,很有收获
时倾188: 怎么我的打开后里边没有内容啊