企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## touch命令 [TOC] >[info] touch命令有两个功能: 一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来; 二是用来创建新的空文件。 ### 语法 `touch (选项) (参数)` ### 选项 >[success] -a:或--time=atime或--time=access或--time=use 只更改存取时间; > -c:或--no-create 不建立任何文件; > -d:<时间日期> 使用指定的日期时间,而非现在的时间; > -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题; > -m:或--time=mtime或--time=modify 只更该变动时间; > -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同; > -t:<日期时间> 使用指定的日期时间,而非现在的时间; ### 参数 文件:指定要设置时间属性的文件列表 ## 实例 ### 在当前目录下建立一个空文件ex2 然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。 命令:touch ex2 输出: ~~~ [root@localhost test]# touch ex2 [root@localhost test]# ls -l 总计 0 -rw-r--r-- 1 root root 0 09-14 14:19 ex2 # 如果文件存在则刷新文件创建时间 不新建 [root@localhost test]# cat ex2 1111 [root@localhost test]# ls -l 总计 4 -rw-r--r-- 1 root root 5 09-14 14:21 ex2 [root@localhost test]# date 2015年 09月 14日 星期一 14:23:36 CST [root@localhost test]# touch ex2 [root@localhost test]# ls -l 总计 4 -rw-r--r-- 1 root root 5 09-14 14:23 ex2 # 文件创建时间被修改 [root@localhost test]# cat ex2 1111 # 文件内容不变 ~~~ ### 更新ex2的时间和ex1时间戳相同 命令:`touch -r ex1 ex2` *(将后面的时间改成前面的时间)* 输出: ~~~ [root@localhost test]# ls -l -rw-r--r-- 1 root root 0 2011-09-14 ex1 -rw-r--r-- 1 root root 5 09-14 14:23 ex2 [root@localhost test]# touch -r ex1 ex2 [root@localhost test]# ls -l -rw-r--r-- 1 root root 0 2011-09-14 ex1 -rw-r--r-- 1 root root 5 2011-09-14 ex2 ~~~ ### 设定文件的时间戳 命令:`touch -t 2015091414631.55 ext1` 输出: ~~~ [root@localhost test]# ls -l -rw-r--r-- 1 root root 0 09-14 14:27 ex1 -rw-r--r-- 1 root root 5 09-14 14:23 ex2 [root@localhost test]# ls -l -rw-r--r-- 1 root root 0 2011-09-14 ex1 -rw-r--r-- 1 root root 5 09-14 14:23 ex2 ~~~ **说明** > `-t time` > 使用指定的时间值time作为指定文件相应时间戳记的新值.此处的time规定为如下形式的十进制数:[[CC]YY]MMDDhhmm[.SS] > 这里,CC为年数中的前两位,即”世纪数”; > YY为年数的后两位,即某世纪中的年数。如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内。MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数。 > 此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间。由于系统的限制,早于1970年1月1日的时间是错误的。