首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >touch详讲

touch详讲

作者头像
猫咪-9527
发布于 2025-01-13 12:26:33
发布于 2025-01-13 12:26:33
27000
代码可运行
举报
文章被收录于专栏:猫咪-9527猫咪-9527
运行总次数:0
代码可运行

touchLinux/Unix 系统中一个常用的命令,主要用于创建空文件或修改文件的时间戳(访问时间和修改时间)。它用途简单却非常实用,尤其是在脚本编写或文件管理中。

以下是对 touch 命令的详细讲解,包括语法、常用选项、使用场景和示例。

基本语法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch [选项] [文件...]
  • 文件:指定要操作的文件,可以是一个或多个。
  • 选项:用于控制 touch 的行为。

主要功能

  1. 创建空文件:如果指定的文件不存在,touch 会创建一个新的空文件。
  2. 修改时间戳
    • 访问时间(Access time,atime):文件最近被读取的时间。
    • 修改时间(Modification time,mtime):文件内容最近被修改的时间。

常用选项详解

1. 创建空文件

如果指定的文件不存在,touch 会创建一个新的空文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch file.txt

此命令创建一个名为 file.txt 的空文件。

2. -a:仅更新访问时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -a file.txt
  • 只更新文件的访问时间,不改变修改时间。
  • 如果文件不存在,会自动创建。
3. -m:仅更新修改时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -m file.txt
  • 只更新文件的修改时间,不改变访问时间。
  • 如果文件不存在,会自动创建。
4. -t:使用指定时间

指定时间戳格式为 [[CC]YY]MMDDhhmm[.ss],其中:

  • CC:世纪(如 19 表示 1900 年代,20 表示 2000 年代)。
  • YY:年份。
  • MM:月份(01-12)。
  • DD:日期(01-31)。
  • hh:小时(00-23)。
  • mm:分钟(00-59)。
  • .ss:可选的秒数(00-59)。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -t 202501071230.45 file.txt

将文件的时间戳设置为 2025 年 1 月 7 日 12:30:45

5. -d:以人类可读的时间格式指定时间

-d 选项可以直接使用类似 YYYY-MM-DD hh:mm:ss 的格式指定时间:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -d "2025-01-07 12:30:45" file.txt

效果与 -t 类似,但语法更加直观。

6. -c:不创建文件

如果指定的文件不存在,touch 不会创建新文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -c file.txt
  • 如果文件存在,更新时间戳。
  • 如果文件不存在,不会创建。
7. -r:使用另一个文件的时间戳

将目标文件的时间戳设置为参考文件的时间戳:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -r reference.txt file.txt

这会将 file.txt 的时间戳设置为与 reference.txt 相同。

8. --help:显示帮助信息

显示 touch 的帮助信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch --help

使用场景与示例

1. 创建空文件

这是 touch 最常见的用法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch newfile.txt

如果 newfile.txt 已存在,touch 只会更新其时间戳,而不会更改其内容。

2. 一次创建多个空文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch file1.txt file2.txt file3.txt

会同时创建 file1.txtfile2.txtfile3.txt

3. 更新访问时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -a file.txt

仅更新文件的访问时间。

4. 更新修改时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -m file.txt

仅更新文件的修改时间。

5. 设置特定的时间戳
使用 -t 设置时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -t 202501071230 file.txt

将文件时间设置为 2025 年 1 月 7 日 12:30:00

使用 -d 设置时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -d "2025-01-07 12:30:45" file.txt

将文件时间设置为 2025 年 1 月 7 日 12:30:45

6. 将一个文件的时间戳应用到另一个文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -r source.txt target.txt

target.txt 的时间戳更新为与 source.txt 相同。

7. 不创建文件,只更新现有文件的时间
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch -c file.txt
  • 如果文件存在,则更新其时间戳。
  • 如果文件不存在,则不创建新文件。
8. 创建多个文件并更新时间戳
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch file1.txt file2.txt
  • 如果 file1.txtfile2.txt 不存在,touch 会创建它们。
  • 如果它们已存在,则只更新时间戳。

检查时间戳

可以使用 ls 命令查看文件的时间戳:

查看文件的修改时间(mtime):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -l file.txt

查看文件的访问时间(atime):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -lu file.txt

查看文件的状态改变时间(ctime):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -lc file.txt

注意事项

文件权限:要使用 touch 修改文件时间戳,用户必须对文件有写权限。如果没有权限,会报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch: cannot touch 'file.txt': Permission denied

时间格式:使用 -t-d 设置时间时,需注意正确的时间格式,否则会报错或导致意外结果。

不影响文件内容touch 命令只修改文件的时间戳,不会更改文件的内容。

通过熟练使用 touch 命令及其选项,可以轻松完成创建空文件或修改文件的时间戳,在 Linux 文件管理和脚本编写中非常高效和常用,相信这篇文章可以让你的linux学习之路一帆风顺。 看到这里不容易点个关注不迷路。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
常用Bash命令整理之操作文件和目录
touch命令就可用于创建、变更和修改文件的时间戳。它是 Linux 操作系统的标准程序。touch命令又如下选项:
Abalone
2022/07/14
5990
【Linux系统】命令如诗,步入Linux的晨曦:指令初学者的旅程(上)
Linux系统因其高效、灵活和安全性,广泛应用于服务器、开发、运维等各个领域。对于刚接触Linux的新手来说,熟练掌握基本指令是开启Linux之旅的第一步。本文将帮助您快速了解和使用Linux中最常用的基础指令,为您在日常操作和管理中打下扎实的基础。
suye
2025/05/29
1100
【Linux系统】命令如诗,步入Linux的晨曦:指令初学者的旅程(上)
Linux学习笔记(一):Linux下的基本指令
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 用法:
我想吃余
2025/04/29
1290
Linux学习笔记(一):Linux下的基本指令
Linux常用命令(精简易懂!收藏+关注!持续更新!)
选项:rmdir -p 是 rmdir 指令中的一个选项,用于递归删除目录层级中的空目录。具体来说,-p 选项会删除指定目录及其父目录,前提是这些父目录也是空的。
suye
2024/10/16
1560
Linux--基本命令(一)
当我们第一次使用win系统的时候,进入系统看到的是一个可视化的界面,并且可以通过移动鼠标来完成一些日常操作。但是作为服务器操作系统的Linux,默认是不会使用桌面版的,而是使用最小化安装的命令行版本。所以我们就以win的视角来完成一些基本的操作。
运维小路
2024/11/01
1460
Linux--基本命令(一)
touch命令 – 创建文件
touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。 语法格式:touch [参数] [文件 常用参数 -a 改变档案的读取时间记录 -m 改变档案的修改时间记录 -r 使用参考档的时间记录,与 --file 的效果一样 -c 不创建新文件 -d 设定时间与日期,可以使用各种不同的格式 -t 设定档案的时间记录,格式与 date 命令相同 常用实例 创建空文件 touch file.txt 批量创建文件 [root@localhost ~]# touch file{1..5}.tx
契合
2021/08/10
1.2K0
软件测试/测试开发|Ubuntu系统常用文件管理命令详解
Ubuntu是一种广泛使用的Linux操作系统,提供了丰富而强大的文件管理命令,使用户能够通过命令行轻松管理文件和目录。本文将介绍一些常用的Ubuntu文件管理命令,帮助用户更好地理解和利用系统资源。
霍格沃兹测试开发Muller老师
2023/12/26
2830
【Linux】常用指令
绝对路径:从系统根目录开始,可以完整描述文件或目录的路径。使用绝对路径可以准确定位到系统中的某个文件或目录。
池央
2025/01/20
5420
【Linux】常用指令
touch命令
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间,若文件不存在,系统会建立一个新的文件。
WindRunnerMax
2020/09/01
1.4K0
Linux 命令 | touch
作用是:改变一个文件的时间戳,将其设为最近的修改时间或者最接近的访问时间,此外,touch命令也可以创建新的空文件。
小林C语言
2023/09/14
4980
Linux 命令 | touch
linux中touch命令的8个实际例子
在本文中,我们将介绍一些有用的 Linux 实际示例touch command.这touch command是一个标准程序Unix/Linux操作系统,用于创建、更改和修改文件的时间戳。在开始接触命令示例之前,请查看以下选项。 touch命令选项 -a, 只更改访问时间 -c, 如果文件不存在,不创建 -d, 更新访问和修改时间 -m, 只更改修改时间 -r, 使用文件的访问和修改次数 -t, 使用指定时间创建文件 1. 如何创建一个空文件 以下 touch 命令创建一个名为的空(零字节)新文件sheena
入门笔记
2022/06/02
1.4K0
每天学一个 Linux 命令(13):touch
https://github.com/mingongge/Learn-a-Linux-command-every-day
民工哥
2021/01/12
1.4K0
每天学一个 Linux 命令(13):touch
【Linux 常用指令 文件和目录操作篇 】—— 成为终端高手的必经之路
在 Linux 系统中,文件是信息存储和管理的核心。Linux 的文件系统具有高度的结构化和层次化,所有的资源(包括硬件、目录、设备等)都被视为文件或文件的形式进行管理。理解 Linux 下的文件,有助于更好地掌握系统操作和管理。概括为一句话就是,Linux下一切皆文件!
换一颗红豆
2025/01/24
1000
【Linux 常用指令 文件和目录操作篇 】—— 成为终端高手的必经之路
【Linux】Linux常用指令合集精讲,一篇让你彻底掌握(万字真言)
ls命令用于显示目录中的文件和子目录。默认情况下,它仅显示文件名。该命令支持多种选项,以提供更多信息。
屿小夏
2025/05/23
4550
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)
find 命令用于在指定目录下查找文件和目录。它提供了强大的搜索功能,可以根据不同的条件进行文件搜索和匹配。它可以在指定的起点目录及其子目录中递归搜索,根据文件名、大小、修改时间、权限等多种属性进行筛选。
爱喝兽奶的熊孩子
2024/06/04
1490
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)
Linux之touch命令
touch用来创建文件,用来修改文件的时间戳。 命令格式 touch [选项]... 文件... 命令参数 -a 或--time=atime或--time=access或--time=use  只更改存取时间。 -c 或--no-create  不建立任何文档。 -d  使用指定的日期时间,而非现在的时间。 -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 -m 或--time=mtime或--time=modify  只更改变动时间。 -r  把指定文档或目录的日
入门笔记
2021/02/04
2.2K0
Linux基础指令及其作用之文件和目录操作
mkdir 是一个常用的命令,用于在 Linux 和类 Unix 系统上创建新目录。下面是 mkdir 命令的简要说明:
薄荷冰
2024/06/02
2950
Linux下的常用基本指令
推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。 https://www.captainbed.cn/f1
鲜于言悠
2024/05/24
2470
Linux下的常用基本指令
Linux/Unix系统基础课程总结
Linux和Unix是两个相关但独立的操作系统家族,它们有许多相似之处,但也存在一些重要的区别。
LucianaiB
2025/05/28
1470
Linux/Unix系统基础课程总结
Linux命令那么多,其实只需要记住这些就足够了!
Linux命令行是一个强大且灵活的工具,可以极大地提高用户的工作效率和系统管理能力。我们都知道,Linux命令非常多,但是在实际的工作中,日常使用到的命令并不多,今天瑞哥就将这些命令整理一下,方便大家查阅!
网络技术联盟站
2025/01/10
5690
Linux命令那么多,其实只需要记住这些就足够了!
推荐阅读
相关推荐
常用Bash命令整理之操作文件和目录
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验