Linux touch命令

浩哥的Linux学习笔记之touch命令_浩哥的Linux学习笔记

杭州的天气阴雨天居多,
大好晴天也有,就好比昨天舒服至极。
今天太阳没有出来,正如我等了很久的塔克斯没有出来一样。
心里有些失落落的,说不上来是什么,
但也不至于伤心难过。

公司旁边有一所小学,
每天都能听到熟悉的上课铃声,
下午两点钟,铃声准时响起。
我想,我也该做些什么了,
学习或者工作总得让自己忙起来。
既然等不到塔克斯,
那就先悄悄的努力,
让自己优秀起来,
才能和它多说说话。
于是思索了一番,决定先学习一下创建文件吧。

很好奇文件是如何创建的,
不同的文件代表了哪些含义?
文件难倒就是数据?
文件的作用有哪些…
好多疑问都萦绕在我的脑海。
然后我就找到了一个简单点的​​​touch命令​​​,
快来跟着我一起看看这简单而又实用的命令吧。

1. touch命令概述

touch命令用于改变文件或者文件夹的时间属性,包括读取时间和修改时间。
若文件不存在,则会创建新文件

参数

全参数

含义

-a

改变文件或文件夹读取访问时间(access time),默认为当前时间

-c

–no-create

如果文件不存在,不会建立新的文件,已经存在的文件会改变修改时间和访问时间。

-d

–date=STRING

按设定时间与日期,设置读取访问时间。

-f

不使用

-m

改变文件或文件夹修改时间(modification time),默认为当前时间

-r

–reference=FILE

更新当前文件夹下的文件及其子目录的时间戳,或者将参考文档修改访问时间更新到指定文档。

-t

按指定时间更新访问时间。格式: [[CC]YY]MMDDhhmm[.ss]

2. 不带参数

touch a.txt

如果文件不存在,则创建文件
否则只修改访问时间和修改时间,不会覆盖。
注意:不带后缀也是创建文件。
浩哥的Linux学习笔记之touch命令_linux_02

3. touch -a

touch -a a.txt

​-a​​这个参数是修改文件的访问时间(access time)为当前时间。
然后配合之前我们讲过的​​​ls -lu​​命令查看访问时间:

ls -lu a.txt

浩哥的Linux学习笔记之touch命令_touch命令_03
可以看到时间明显变化了。

4. touch -c

touch -c a.txt

可以看到如果文件不存在,就不会建立新的文件;
如果已经存在的文件会改变访问时间和修改时间
浩哥的Linux学习笔记之touch命令_服务器_04

5. touch -d

touch -d "2020-12-12 08:00:00" a.txt

修改文件的访问时间
可以看到,修改时间还是没有改变。
浩哥的Linux学习笔记之touch命令_linux_05

6. touch -m

touch -m a.txt

可以看到​​-m​​参数是改变文件的修改时间,不会影响访问时间。
浩哥的Linux学习笔记之touch命令_linux_06

7. touch -r

touch -r a.txt b.txt

可以看到,我们先新建一个文件,
然后在将a.txt文件的修改时间和访问时间更新到b.txt文件。
​​​-r​​​后面也可以跟正则表达式如:​​touch -r *​​​将当前目录下所有文件修改时间更新为当前时间。
浩哥的Linux学习笔记之touch命令_运维_07

8. touch -t

touch -t 202112120800.00 a.txt

可以看到这个参数是按指定时间修改文件的访问时间,其他时间没有更新。
[[CC]YY]MMDDhhmm[.ss]
[]代表可有可无。
CC是年的前两位:如2021年的 20
YY是年的后两位:如2021年的 21
MM代表月份:如 12
DD代表日期:如 12
hh代表小时:如 08
mm代表分钟:如 00
ss代表秒:如 00
浩哥的Linux学习笔记之touch命令_浩哥的Linux学习笔记_08

算是自己又整理学习了一下吧,
内心并没有太多激动的心情了,
平复下来的自己好像变了一个人似的。

浩哥的Linux学习笔记之touch命令_touch命令_09

参考文档:
​​​Linux touch命令​