touch命令的主要功能是用来修改文件的时间戳,即修改文件的修改时间和访问时间,也可以用来创建一个空文件。
什么场景下会使用touch命令
如果你参加了一个全球性的开源项目,上面可能会有很多用户提供自己写的代码,而每个用户所在时区不同,这就造成项目里面的文件的时间戳很乱,在这种情况下就有可能导致项目编译会不成功。所以这时就需要touch命令来更改文件的时间戳。
对一般用户来说,可能用touch来创建一个空白文件比修改时间戳用得多。
命令名称
touch
所在路径
/bin/touch
执行权限
所有用户
命令格式
touch [选项] ... 文件 ...
功能描述
修改文件时间戳,创建空文件
命令选项
-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 选项的效果
--help:显示此帮助信息并退出
--version:显示版本信息并退出
命令实例
1、touch postcha.com.txt ,这个命令有二层意思,当文件不存在时会创建一个空白文件。而当文件承在时会修改文件时间戳为当前时间。
第一次touch.postcha.com.txt时,因为目录下不承在此文件,所以创建了一个空文件,此时显示的时间为11:01,而第二次执行touch postcha.com.txt后,文件的时间变成了11:03。
2、touch -c postcha.txt。当文件不承在时不创建文件,而文件承在时修改文件时间戳为当前时间
3、touch -r postcha.com.txt postcha.txt。将后一个文件的明间戳修改为前一个文件的时间戳。
4、touch "program files",创建一个含空格的文件。虽然在Linux中可以包含绝大多数特殊符号,但是为了以后使用方便最好还是不要使用。