0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Linux使用touch命令

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-05 17:21 次阅读

Linux touch命令用于更改文件时间戳。但touch命令的最常见用法是创建文件。

在本教程中我们将说明如何在Linux 使用touch 命令修改文件与文件夹的访问时间atime、修改时间mtime和更改时间ctime。

还说明如何使用stat命令查看文件或者目录时间戳,修改为指定时间戳,使用另一个文件的时间戳,更改符号链接时间戳。

Linux 文件时间戳

在讨论如何使用touch命令之前,首先回顾一下Linux 文件时间戳。Linux 文件有三个时间戳。

访问时间atime全称Access time。即某些命令或者应用程序,例如如cat,vim或grep打开文件的最后时间。

修改时间mtime全称Modify time,即最后一次修改文件内容的时间。更改时间ctime全称Change time即文件的属性或内容最后一次更改文件权限,文件所有权或文件位置。

stat 命令查看文件时间戳

在修改文件或者文件夹的时间戳之前,需要知道文件目录/文件夹当前时间戳,从而确定是否修改时间戳。

你可以使用stat命令查看文件时间戳,例如命令stat file_name将会打印file_name文件的时间戳。

stat file_name

touch 命令创建文件

要创建文件,您需要具有对当目录的写权限。否则,您将收到权限拒绝的错误。

在不指定任何选项运行touch命令时,如果指定的文件不存在,touch将创建文件。如果文件已存在,touch命令将文件的访问时间和修改时间修改为当前时间。

要一次创建或修改多个文件,请指定多个文件名并使用空格符分隔文件名。同样指定的多个文件不存在则会创建。

如果您不希望touch命令创建文件,请使用-c/--no-create选项。ttouch命令将文件的访问时间和修改时间修改为当前时间。

touch file1
touch file1 file2 file3
touch -c file1

touch 命令修改访问时间和更改时间

默认情况下,如果未指定任何选项,touch命令将文件的访问和修改时间更新为当前时间。你可以使用touch命令的-a-m选项,仅更改其中一个时间戳。

当使用touch命令的-a选项时仅更改文件的访问时间,例如命令touch -a file1

使用touch命令的-m选项仅更改文件的修改时间。更改修改时间时,更改时间也将更新。例如命令touch -m file1

touch -a file1 #atime
touch -m file1 #mtime

touch 命令设置时间戳

touch命令还允许我们修改的文件时间戳。使用-d/--date=选项指定日期字符串。

日期字符串需要用单引号括起来。您还可以为touch命令提供部分日期时间的字符串。例如仅提供日期,自动将年份更改为当前年份。

-r/--reference=选项允许我们指定一个参考文件,并使用它的时间戳,而不是当前的时间。

例如命令touch -d '1 June 2018 11:02' file1将访问时间和修改时间更改为2018年6月1日11:02。

touch -d '12 June' file1命令不指定年年份,将访问时间和修改时间更改为2022年6月12日00:00。

touch -r file1 file2命令将file2的时间戳写到file1,这是使用另一个文件的时间戳示例。

touch -d '1 June 2018 11:02' file1
touch -d '12 June' file1
touch -r file1 file2

touch 命令修改符号链接时间戳

默认情况下,如果在符号链接使用touch命令修改时间戳,它将修改目标文件的时间戳。

在使用touch命令的-h/--no-dereference修改符号链接的时间戳时,则不会目标文件的时间戳。

touch -h symlink1

结论

至此你应该很好地理解如何使用touch命令。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10942

    浏览量

    206545
  • touch
    +关注

    关注

    0

    文章

    67

    浏览量

    34268
  • 命令
    +关注

    关注

    5

    文章

    637

    浏览量

    21841
  • 时间戳
    +关注

    关注

    0

    文章

    15

    浏览量

    2529
收藏 人收藏

    评论

    相关推荐

    何在Linux使用iostat命令

    IO等待或者`iowait`,`wait`,`wa`,`%iowait`,或者`wait%`通常可以通过Linux系统监控工具查看。例如命令行工具top、sar、atop等。
    的头像 发表于 01-04 17:17 1179次阅读

    何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令
    的头像 发表于 12-04 14:45 468次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>中使用htop<b class='flag-5'>命令</b>

    何在python中实现ESP TOUCH协议?

    设备连接到路由器。 有人能告诉我如何在 python 中实现 ESP TOUCH 协议吗?这样所有模块连同树莓派都可以从一个应用程序同时配置。
    发表于 05-17 08:20

    Linux系统命令指南

    在“Linux 文件命令精通指南”中,我们讨论了利用最基础和最常用 Linux 文件命令所需的基本信息。在本文中,我将对 Linux 系统
    发表于 05-23 10:23 866次阅读

    浅谈Linux touch命令实例

    touch命令可以用来修改文件的访问/修改时间戳,使用touch命令创建一个空白文件,需要的语法是“linuxidc@linuxidc:~$ tou
    的头像 发表于 02-13 14:08 5460次阅读
    浅谈<b class='flag-5'>Linux</b> <b class='flag-5'>touch</b><b class='flag-5'>命令</b>实例

    linux中 9 个touch命令介绍

    touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。
    发表于 05-02 17:05 3100次阅读
    <b class='flag-5'>linux</b>中 9 个<b class='flag-5'>touch</b><b class='flag-5'>命令</b>介绍

    Linuxtouch的9个命令示例

    默认情况下,每当我们尝试使用 touch 命令更改符号链接文件的时间戳时,它只会更改原始文件的时间戳。如果你想更改符号链接文件的时间戳,则可以使用 touch 命令中的 -h 选项来实
    的头像 发表于 05-08 14:17 3639次阅读
    在<b class='flag-5'>Linux</b>下<b class='flag-5'>touch</b>的9个<b class='flag-5'>命令</b>示例

    何在 Linux 中不使用 CD 命令进入目录/文件夹?

    众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题。
    的头像 发表于 04-16 11:40 5628次阅读

    何在Linux使用pidof命令

    `pidof`是一个命令行程序,可让您找到正在运行程序的进程ID。在教程中,我们将说明如何在Linux 使用pidof命令
    的头像 发表于 12-05 17:01 1842次阅读

    何在Linux使用rpm命令

    RPM是基于RedHat Linux发行版的软件包管理器,例如CentOS和Fedora。RPM还指`rpm`命令和`.rpm`文件扩展名称。
    的头像 发表于 01-04 17:14 1353次阅读

    何在Linux上使用粘贴命令

    Linux中的粘贴命令是一个有用的工具,用于将多个文件或文本行合并到单个文件或输出中。它通常与剪切命令结合使用,允许用户剪切特定行或文本部分并将其粘贴到其他地方。在本文中,小编将探讨 Linu
    的头像 发表于 02-08 16:58 1380次阅读

    何在Linux中使用progress命令

    progress 命令是一个简单但功能强大的 Linux/Unix 命令行工具,可让用户查看文件操作的进度。
    的头像 发表于 04-08 15:51 1436次阅读

    何在Linux命令行中运行Python脚本

    Python 脚本。 在本文中,我们将详细介绍如何在 Linux 命令行中运行 Python 脚本。我们将讨论以下主题:
    的头像 发表于 05-12 14:49 1328次阅读

    恒讯科技分析:如何在Linux上使用rm命令删除文件和目录?

    本指南展示了如何在Linux中使用rm命令行删除文件、目录和其他内容?
    的头像 发表于 06-09 17:02 821次阅读

    shell命令linux命令一样吗

    Shell命令Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种
    的头像 发表于 11-08 10:51 1014次阅读