文章目录

  • 1.命令概述
  • 2.命令格式
  • 3.常用选项
  • 4.相关描述
  • 5.参考示例


1.命令概述

在**Linux 中,每个文件都与时间戳相关联,每个文件都存储了上次访问时间、**上次修改时间和上次更改时间的信息。因此,每当我们创建新文件并访问或修改现有文件时,该文件的时间戳都会自动更新。

touch 命令是 Unix/Linux 操作系统的标准程序,用于创建新文件或更改现有文件的时间戳。文件的时间戳包括最后访问时间、最后修改时间和最后更改时间。

2.命令格式

基本格式为 touch [选项] 文件名

3.常用选项

  • -a: 仅更改访问时间。
  • -c: 如果文件不存在,不创建新文件。
  • -d: 更新访问和修改时间。
  • -m: 仅更改修改时间。
  • -r: 使用另一个文件的访问和修改时间。
  • -t: 使用指定的时间创建文件。

4.相关描述

touch 命令广泛应用于文件管理中,特别是在需要创建空文件或更新文件时间戳的场景。在使用 find 命令和 ls 命令进行文件列表显示和查找时,时间戳信息尤为重要。

5.参考示例

创建一个空文件

touch sheena

【Linux】Linux 系统编程——touch 命令_c++

这个命令创建了一个名为 “sheena” 的新空文件。如果 “sheena” 文件已经存在,这个命令将更新该文件的时间戳,但不会更改文件内容。

同时创建多个文件

touch sheena1 meena leena

【Linux】Linux 系统编程——touch 命令_linux_02

此命令一次性创建三个空文件,分别命名为 “sheena1”、“meena” 和 “leena”。和上一个例子一样,如果这些文件已经存在,它们的时间戳将被更新。

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

首先介绍三个命令

ls -lu 文件名

这个命令会显示文件的最后访问时间

ls -lt 文件名

这个命令显示文件的最后修改时间

stat 文件名

查看文件的详细信息

下面的命令可以更改文件的访问时间

touch -a leena

该命令仅更新名为 “leena” 的文件的访问时间,但是不会更改文件的修改时间和内容。如果 “leena” 文件不存在,它将创建一个新的空文件。

【Linux】Linux 系统编程——touch 命令_linux_03

避免创建新文件

touch -c leena

使用 -c 选项时,如果 “leena” 文件不存在,touch 命令不会创建新文件。如果文件存在,它将更新时间戳。

文件存在更新时间戳

【Linux】Linux 系统编程——touch 命令_c++_04

文件不存在,不创建新文件

【Linux】Linux 系统编程——touch 命令_服务器_05

仅更改文件的修改时间

touch -m leena

此命令仅更新 “leena” 文件的修改时间。如果文件不存在,它会创建一个新的空文件。

【Linux】Linux 系统编程——touch 命令_服务器_06

显式设置访问和修改时间

touch -c -t YYDDHHMM leena

这个命令结合了 -c-t 选项。-t 选项允许你指定一个具体的时间(格式为年年天天小时小时分钟分钟),在这个例子中用于设置 “leena” 文件的时间戳。如果文件不存在,由于 -c 选项的存在,不会创建新文件。

【Linux】Linux 系统编程——touch 命令_touch_07

使用另一个文件的时间戳

touch -r leena meena

【Linux】Linux 系统编程——touch 命令_linux_08

这个命令使用 “leena” 文件的时间戳来更新 “meena” 文件的时间戳。如果 “meena” 文件不存在,这个命令将会创建它。

创建具有特定时间的文件

touch -t YYMMDDHHMM.SS tecmint

使用 -t 选项,你可以为文件设置一个特定的时间戳。这个例子中,命令会设置 “tecmint” 文件的时间戳为 2020 年 12 月 10 日 18 时 30 分 55 秒。如果 “tecmint” 文件不存在,它将被创建。

【Linux】Linux 系统编程——touch 命令_运维_09