本文来给大家介绍另外一个比较常用的命令--touch命令,Linux touch命令 主要用来修改文件或者目录的时间属性,或者建立新文件。
转载自https://www.linuxdaxue.com/linux-command-intro-touch.html
touch 命令
一、Linux touch命令 语法
Linux touch命令 的语法格式主要如下:
touch [OPTION]... FILE...
参数说明:
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 设定时间与日期,可以使用各种不同的格式。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间,格式与 date 指令相同。
--help 列出指令格式。
--version 列出版本讯息。
作者信息:
Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.
二、Linux touch命令 使用实例
1)新建文件file_new
[linuxdaxue.com@/home/linuxdaxue.com]$ls
dir1 src testDir
[linuxdaxue.com@/home/linuxdaxue.com]$touch file_new
[linuxdaxue.com@/home/linuxdaxue.com]$ls
dir1 file_new src testDir
可以看到,新建了一个名叫file_new的文件。
修改时间就是刚才建立文件的时间:
[linuxdaxue.com@/home/linuxdaxue.com]$ll file_new
-rw-r--r-- 1 linuxdaxue.com linuxdaxue.com 0 Jun 16 14:19 file_new
2)修改file_new的时间戳
在上个例子中,新建的file_new文件的时间戳是 14:19分,接下来我们使用 touch命令 修改其时间戳。
[linuxdaxue.com@/home/linuxdaxue.com]$ll file_new
-rw-r--r-- 1 linuxdaxue.com linuxdaxue.com 0 Jun 16 14:19 file_new
[linuxdaxue.com@/home/linuxdaxue.com]$touch file_new
[linuxdaxue.com@/home/linuxdaxue.com]$ll file_new
-rw-r--r-- 1 linuxdaxue.com linuxdaxue.com 0 Jun 16 14:23 file_new
可以看到,其时间戳变为了14:23分,时间戳发生了改变。
3)让file_new的时间戳与其他文件时间戳相同
[linuxdaxue.com@/home/linuxdaxue.com]$ll
total 12
drwxr-xr-x 3 linuxdaxue.com linuxdaxue.com 4096 Jun 15 11:37 dir1
-rw-r--r-- 1 linuxdaxue.com linuxdaxue.com 0 Jun 16 14:23 file_new
drwxr-xr-x 7 linuxdaxue.com linuxdaxue.com 4096 Jun 15 11:41 src
[linuxdaxue.com@/home/linuxdaxue.com]$touch -r dir1 file_new
[linuxdaxue.com@/home/linuxdaxue.com]$ll
total 12
drwxr-xr-x 3 linuxdaxue.com linuxdaxue.com 4096 Jun 15 11:37 dir1
-rw-r--r-- 1 linuxdaxue.com linuxdaxue.com 0 Jun 15 11:37 file_new
drwxr-xr-x 7 linuxdaxue.com linuxdaxue.com 4096 Jun 15 11:41 src
可以看到,执行了 touch命令 后,file_new的时间戳与dir1的时间戳相同了。
4)修改file_new时间戳为指定时间
[linuxdaxue.com@/home/linuxdaxue.com]$touch -t 201612312234.50 file_new
[linuxdaxue.com@/home/linuxdaxue.com]$ll file_new
-rw-r--r-- 1 linuxdaxue.com linuxdaxue.com 0 Dec 31 2016 file_new
执行过touch命令后,file_new的时间戳变了2016年12月31号,touch 命令 修改时间的格式如下:
[[CC]YY]MMDDhhmm[.SS]
说明:CC为年数中的前两位,即”世纪数“;
YY为年数的后两位,即某世纪中的年数。如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内。
MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒。
这些数字组成的时间是环境变量TZ指定的时区中的一个时间。
由于系统的限制,早于1970年1月1日的时间是错误的。