Linux:Touch

用途

更新文件的访问和修改时间。

语法

touch [ -a ] [ -c ] [ -m ] [ -f ] [ -r RefFile ] [ Time | -t Time ] { File ... | Directory ... }

描述

touch 命令更新由 Directory 参数指定的每个目录下的由 File 参数指定的每个文件的访问和修改时间。如果没有指定 Time 变量值,touch 命令就使用当前时间。如果指定了一个不存在的文件,touch 命令就创建此文件,除非指定了 -c 标志。

touch 命令的返回码是时间没有被成功修改的文件数目(包括不存在的文件和没有创建的文件)。

标志

项目 描述

-a更改由 File 变量指定的文件的访问时间。不要更改修改时间,除非也指定了 -m 标志。
-c如果文件不存在,那么不要进行创建。没有写任何有关此条件的诊断消息。
-f尝试强制 touch 运行,而不管文件的读和写许可权。
-m 更改 File 的修改时间。不要更改访问时间,除非也指定了 -m 标志。
-r RefFile 使用由 RefFile 变量指定的文件的相应时间,而不用当前时间。

Time 以 MMDDhhmm[YY] 的格式指定新时间戳记的日期和时间,其中:

MM
指定一年的哪一月(从 01 至 12)。
DD
指定一月的哪一天(从 01 至 31)。
hh
指定一天中的哪一小时(从 00 至 23)。
mm
指定一小时的哪一分钟(从 00 至 59)。
YY

指定年份的后两位数字。如果未指定 YY 变量,那么缺省值为当前年份(70 到 99 或 00 到 37)。
如果 YY 数字的值介于 70 和 99 之间,那么将采用 20 世纪。

如果 YY 数字的值介于 00 和 37 之间,那么将假设为 20 世纪。

-tTime 使用指定时间而不是当前时间。Time 变量以十进制形式[[CC]YY]MMDDhhmm[.SS]指定,其中:

    CC
    指定年份的前两位数字(19 到 21)。
    YY
    指定年份的后两位数字(00 到 99)。
    如果 YY 数字的值介于 70 和 99 之间,那么将假设 CC 数字的值为 19。
    如果 YY 数字的值介于 00 和 37 之间,那么将假设 CC 数字的值为 20。
    对于 2038 之后的年份,请以 yyyy 格式指定年份。
    MM
    指定一年的哪一月(从 01 至 12)。
    DD
    指定一月的哪一天(从 01 至 31)。
    hh
    指定一天中的哪一小时(从 00 至 23)。
    mm
    指定一小时的哪一分钟(从 00 至 59)。
    SS
    指定一分钟的哪一秒(从 00 至 59)。

注:
touch 命令调用 utime () 子例程来更改所涉及文件的修改和访问时间。当没有真正拥有该文件,即使对文件有写许可权,使用标志时也可能使 touch 命令失败。

当使用 touch 命令时,如果接收到错误消息,不要指定完整路径名 /usr/bin/touch。

退出状态

此命令返回以下退出值:

项目 描述

0   命令成功执行。所有请求的更改已完成。
>0  发生错误。

安全性
hm


  • RBAC 用户和可信 AIX 用户注意:
    此命令可以执行特权操作。只有特权用户才能运行特权操作。有关权限与特权的更多信息,请参阅安全性中的『特权命令数据库』。要获取与此命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。*

示例

1、要更新文件的访问和修改时间,请输入:

>>touch program.ccopy to clipboard

这会将 program.c 文件的上次访问和修改时间设置为当前日期和时间。如果 program.c 文件不存在,touch 命令就创建一个同名的空文件。

2、要避免创建新文件,请输入:

>>touch  -c program.c

3、要仅更新修改时间,请输入:

>>touch  -m *.o

这会更新当前目录下的以 .o 扩展名结尾的文件的上次修改时间(不更新访问时间)。touch 命令经常以此方式使用,来改变 make 命令的结果。

4、要明确设置访问和修改时间,请输入:

>>touch  -c  -t 02171425 program.c

这会将访问和修改时间设置为当前年份的 2 月 17 日的 14:25(2:25 p.m.)。

5、要使用另一文件的时间戳记而不用当前时间,请输入:

>>touch  -r file1 program.c

这会将 program.c 文件的时间戳记设置成与 file1 文件一样。

6、要使用指定时间而不是当前时间处理文件,请输入:

>>touch  -t 198503030303.55 program.c

这会将 program.c 文件的时间戳记设置为 1985 年 3 月 3 日上午 3:03:55。

文件

项目 描述
/usr/bin/touch 包含 touch 命令。

参考


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值