您现在的位置是:首页 > 编程 > 

touch详讲

2025-07-26 20:38:40
touch详讲 touch 是 Linux/Unix 系统中一个常用的命令,主要用于创建空文件或修改文件的时间戳(访问时间和修改时间)。它用途简单却非常实用,尤其是在脚本编写或文件管理中。以下是对 touch 命令的详细讲解,包括语法、常用选项、使用场景和示例。基本语法代码语言:javascript代码运行次数:0运行复制touch [选项] [文件...]文件:指定要操作的文件,可以是一个或多个

touch详讲

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

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

基本语法

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

主要功能

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

常用选项详解

1. 创建空文件

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

代码语言:javascript代码运行次数:0运行复制
touch 

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

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

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

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

示例:

代码语言:javascript代码运行次数:0运行复制
touch -t 20250107120.45 

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

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

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

代码语言:javascript代码运行次数:0运行复制
touch -d "2025-01-07 12:0:45" 

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

6. -c:不创建文件

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

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

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

代码语言:javascript代码运行次数:0运行复制
touch -r  

这会将 的时间戳设置为与 相同。

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

显示 touch 的帮助信息:

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

使用场景与示例

1. 创建空文件

这是 touch 最常见的用法:

代码语言:javascript代码运行次数:0运行复制
touch new

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

2. 一次创建多个空文件
代码语言:javascript代码运行次数:0运行复制
touch   

会同时创建

. 更新访问时间
代码语言:javascript代码运行次数:0运行复制
touch -a 

仅更新文件的访问时间。

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

仅更新文件的修改时间。

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

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

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

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

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

的时间戳更新为与 相同。

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

检查时间戳

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

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

代码语言:javascript代码运行次数:0运行复制
ls -l 

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

代码语言:javascript代码运行次数:0运行复制
ls -lu 

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

代码语言:javascript代码运行次数:0运行复制
ls -lc 

注意事项

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

代码语言:javascript代码运行次数:0运行复制
touch: cannot touch '': Permission denied

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

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

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

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

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1180199.html

相关标签:无
上传时间: 2025-07-22 01:11:26

上一篇:ls指令详讲

下一篇:mv指令详解

留言与评论(共有 19 条评论)
本站网友 51海淘
16分钟前 发表
只更新现有文件的时间代码语言:javascript代码运行次数:0运行复制touch -c 如果文件存在
本站网友 乳腺癌的早期症状
19分钟前 发表
hh:小时(00-2)
本站网友 投资公司章程
8分钟前 发表
atime):文件最近被读取的时间
本站网友 音欠
3分钟前 发表
.ss:可选的秒数(00-59)
本站网友 预警2000
26分钟前 发表
45
本站网友 北京日租
17分钟前 发表
45" 效果与 -t 类似
本站网友 幼交图
23分钟前 发表
touch详讲 touch 是 Linux/Unix 系统中一个常用的命令
本站网友 它山之石
15分钟前 发表
如果它们已存在
本站网友 风油精说明书
13分钟前 发表
20 表示 2000 年代)
本站网友 降血糖的食物
4分钟前 发表
代码语言:javascript代码运行次数:0运行复制touch -c 如果文件存在
本站网友 罗马婚纱摄影
13分钟前 发表
0
本站网友 林立
28分钟前 发表
分享自作者个人站点/博客
本站网友 微软官网下载
0秒前 发表
5. -d:以人类可读的时间格式指定时间-d 选项可以直接使用类似 YYYY-MM-DD hh
本站网友 大文化
29分钟前 发表
mtime):文件内容最近被修改的时间
本站网友 un联众
1分钟前 发表
0
本站网友 长江三角洲经济圈
5分钟前 发表
.ss:可选的秒数(00-59)
本站网友 福山二手房
22分钟前 发表
DD:日期(01-1)
本站网友 乳蛾
6分钟前 发表
则更新其时间戳