`touch` 是 Linux 系统中的一个非常有用的命令,它用来更新现有文件的访问和修改时间戳或创建一个新的空文件。

以下是 `touch` 命令的一些常见使用案例:

1. 更新已存在的文件的时间戳:如果你想更新某个文件的最后访问时间和最后修改时间(通常用于标记文件“最新”的状态),你只需提供文件路径作为 `touch` 的参数:

linux命令touch  第1张

bash

touch 文件名

2. 创建一个新文件(如果它不存在的话):

linux命令touch  第2张

bash

touch 新文件名

3. 使用 t 选项来设置自定义时间戳(格式为 [[CC]YYMMDDhhmm[.SS]])。其中:

linux命令touch  第3张

CC 表示世纪;

YY 表示年份;

MM 月份(1 至 12);

DD 表示日期;

hh 小时;

linux命令touch  第4张

mm 分钟。

例如:

bash

touch t 202303151245 文件名

linux命令touch  第5张

4. 使用 d 选项可以设置字符串形式的时间:

bash

touch d 'YYYYMMDD HH:MM' 文件名

或者以更简单的方式:

linux命令touch  第6张

touch d 'today 2 hours' 文件名 两天前的时间

touch d yesterday 文件名 昨天的时间

touch d next tuesday 文件名 下周二的日期/时间

示例:

linux命令touch  第7张

touch d "last month" 文件名

5. 创造多于一个时间点:

如果你想设置或修改不止一类型的日期与时间 (如,只更改访问日期而不是修改) ,你可以通过指定参数 `a`, `c`, `m`.

linux命令touch  第8张

`a` 选项表示仅仅会更新 access 时间,而不是 modify 时间。

`c` 选项意味着如果目标文件不存在的话,则不要创建新文件。(默认情况 touch 会尝试创建一个新的零大小文件如果它还不存在的话)

`m` 则只改变 modification time (修改日期/时间)。

例如:

touch c a filename 修改访问时间,不创造不存在的文件

touch c m filename 仅仅改变修改日期/时间

touch a 0901 file 把文件的读取访问时间和最后读取修改时间都改成这个日期。

linux命令touch  第9张

请注意,默认情况下所有时间都是本地时间而不是UTC(尽管这可以在GNU系统的`touch`上通过命令行修改)。你可以在某些环境中使用TZ环境变量来控制时区处理方式。

请记住根据你正在使用的 Linux 发行版或 shell 可能会出现略微不同的选项或语法变化,但大部分情况下这些基本用法应该都是适用的。如果你希望获取更准确的信息,建议查阅你系统中该命令的具体文档(可以通过 `man touch` 来获取手册页信息)或其他相关资源。