touch详讲

🏝️专栏:https://blog.csdn.net/2301_81831423/category_12872319.html 
🌅主页:猫咪-9527-CSDN博客 

“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”

目录

基本语法

主要功能

常用选项详解

1. 创建空文件

2. -a:仅更新访问时间

3. -m:仅更新修改时间

4. -t:使用指定时间

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

6. -c:不创建文件

7. -r:使用另一个文件的时间戳

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

使用场景与示例

1. 创建空文件

2. 一次创建多个空文件

3. 更新访问时间

4. 更新修改时间

5. 设置特定的时间戳

使用 -t 设置时间

使用 -d 设置时间

6. 将一个文件的时间戳应用到另一个文件

7. 不创建文件,只更新现有文件的时间

8. 创建多个文件并更新时间戳

检查时间戳

注意事项


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

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


基本语法

touch [选项] [文件...]
  • 文件:指定要操作的文件,可以是一个或多个。
  • 选项:用于控制 touch 的行为。

主要功能

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

常用选项详解

1. 创建空文件

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

touch file.txt

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


2. -a:仅更新访问时间

touch -a file.txt
  • 只更新文件的访问时间,不改变修改时间。
  • 如果文件不存在,会自动创建。

3. -m:仅更新修改时间

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)。

示例:

touch -t 202501071230.45 file.txt

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


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

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

touch -d "2025-01-07 12:30:45" file.txt

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


6. -c:不创建文件

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

touch -c file.txt
  • 如果文件存在,更新时间戳。
  • 如果文件不存在,不会创建。

7. -r:使用另一个文件的时间戳

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

touch -r reference.txt file.txt

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


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

显示 touch 的帮助信息:

touch --help

使用场景与示例

1. 创建空文件

这是 touch 最常见的用法:

touch newfile.txt

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


2. 一次创建多个空文件

touch file1.txt file2.txt file3.txt

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


3. 更新访问时间

touch -a file.txt

仅更新文件的访问时间。


4. 更新修改时间

touch -m file.txt

仅更新文件的修改时间。


5. 设置特定的时间戳

使用 -t 设置时间
touch -t 202501071230 file.txt

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

使用 -d 设置时间
touch -d "2025-01-07 12:30:45" file.txt

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


6. 将一个文件的时间戳应用到另一个文件

touch -r source.txt target.txt

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


7. 不创建文件,只更新现有文件的时间

touch -c file.txt
  • 如果文件存在,则更新其时间戳。
  • 如果文件不存在,则不创建新文件。

8. 创建多个文件并更新时间戳

touch file1.txt file2.txt
  • 如果 file1.txtfile2.txt 不存在,touch 会创建它们。
  • 如果它们已存在,则只更新时间戳。

检查时间戳

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

  • 查看文件的修改时间(mtime):
    ls -l file.txt
    
  • 查看文件的访问时间(atime):
    ls -lu file.txt
    
  • 查看文件的状态改变时间(ctime):
    ls -lc file.txt
    

注意事项

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

    touch: cannot touch 'file.txt': Permission denied
    
  2. 时间格式:使用 -t-d 设置时间时,需注意正确的时间格式,否则会报错或导致意外结果。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/66464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5本地化和国际化语言

翻译语言 工具 - 本地化控制板 Localization Dashboard 修改图中这几个地方就可以 点击箭头处,把中文翻译成英语,如果要更多语言就点 添加新语言 最后点击编译即可 编译完,会在目录生成文件夹 设置界面相关蓝图中设置 切换本地化语言 必须在…

微信小程序实现登录注册

文章目录 1. 官方文档教程2. 注册实现3. 登录实现4. 关于作者其它项目视频教程介绍 1. 官方文档教程 https://developers.weixin.qq.com/miniprogram/dev/framework/路由跳转的几种方式: https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab…

【C++】18.继承

文章目录 1.继承的概念及定义1.1 继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符1.2.3继承基类成员访问方式的变化 1.3 继承类模板 2.基类和派生类对象赋值转换3.继承中的作用域3.1 隐藏规则:3.2 考察继承作用域相关选择题 4.派生类的默认成员函数4…

PostgreSQL学习笔记(二):PostgreSQL基本操作

PostgreSQL 是一个功能强大的开源关系型数据库管理系统 (RDBMS),支持标准的 SQL 语法,并扩展了许多功能强大的操作语法. 数据类型 数值类型 数据类型描述存储大小示例值SMALLINT小范围整数,范围:-32,768 到 32,7672 字节-123INTE…

Bi-Encoder vs. Cross-Encoder

Bi-Encoder vs. Cross-Encoder Bi-Encoder 和 Cross-Encoder 是两种常见的模型架构,主要用于自然语言处理(NLP)中的文本匹配、问答、检索等任务。它们的主要区别在于如何处理输入文本以及计算相似度的方式。 1. Bi-Encoder(双编…

PyQt5 UI混合开发,控件的提升

PromoteLabelTest.py 提升的类 import sys from PyQt5.QtWidgets import QApplication, QWidget,QVBoxLayout,QTextEdit,QPushButton,QHBoxLayout,QFileDialog,QLabelclass PromoteLabel(QLabel):def __init__(self,parent None):super().__init__(parent)self.setText("…

A/B实验之置信检验(一):如何避免误判 (I类) 和漏报 (II类)

假设检验的依据:如何避免误判和漏报 A/B实验系列相关文章(置顶) 1.A/B实验之置信检验(一):如何避免误判和漏报 2.A/B实验之置信检验(二):置信检验精要 引言 在数据驱动…

金融租赁系统助力行业转型与升级的创新之路

内容概要 在当今快速发展的商业环境中,金融租赁系统逐渐成为企业转型与升级的重要工具。它通过整合大数据与自动化技术,不仅提升了风险管理的准确性,还加快了审批流程,让企业在激烈的市场竞争中游刃有余。这个系统就像是一位聪明…

Postman接口测试02|接口用例设计

目录 六、接口用例设计 1、接口测试的测试点(测试维度) 1️⃣功能测试 2️⃣性能测试 3️⃣安全测试 2、设计方法与思路 3、单接口测试用例 4、业务场景测试用例 1️⃣分析测试点 2️⃣添加员工 3️⃣查询员工、修改员工 4️⃣删除员工、查询…

Python标准库之SQLite3

包含了连接数据库、处理数据、控制数据、自定义输出格式及处理异常的各种方法。 官方文档:sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 — Python 3.13.1 文档 官方文档SQLite对应版本:3.13.1 SQLite主页:SQLite Home Page SQL语法教程&a…

HTML 迷宫游戏

HTML 迷宫游戏 相关资源文件已经打包成压缩文件,可双击index.html直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例,秉着开源精神的想法,望大家喜欢&#xff0…

【Linux】上传、下载、压缩、解压

一、上传、下载 1.1 FinalShell文件系统 我们可以通过FinalShell工具,方便的和虚拟机进行数据交换。 在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的: 浏览文件系统,找到合适的文件&#xff0…

以柔资讯-D-Security终端文件保护系统 logFileName 任意文件读取漏洞复现

0x01 产品简介 D-Security终端文件保护系统是一套专注于企业文件管理效率与安全的解决方案,统对文件进行全文加密,而非仅在文件表头或特定部分进行加密,从而大大提高了文件的安全性,降低了被破解的风险。D-Security终端文件保护系统是被政府和国安局等情报单位唯一认定的安…

关于重构一点简单想法

关于重构一点简单想法 当前工作的组内,由于业务开启的时间正好处于集团php-》go技术栈全面迁移的时间点,组内语言技术栈存在:php、go两套。 因此需求开发过程中通常要考虑两套技术栈的逻辑,一些基础的逻辑也没有办法复用。 在这…

新的 WhoisXML API 白皮书重点分析了主要 gTLD 和 ccTLD 注册趋势

任何寻求建立在线存在的人似乎都可以选择无限多的互联网域名注册服务。然而,问题依然存在:哪些提供商更受注册者青睐?WhoisXML API 的研究团队通过分析主要 gTLD(通用顶级域)和 ccTLD(国家或地区顶级域&…

zabbix(二)

zabbix 1.zabbix监控的模式 主动和被动模式都是对于客户端而言 主动模式 客户端主动将数据发送给server或者是代理服务器 被动模式 服务端或者proxy(代理服务器)主动找客户端索要数据------------>默认方式 被动模式在成规模的集群(成百上千台的)&…

任务调度之Quartz(二):Quartz体系结构

1、Quartz 体系结构 由上一篇的Quartz基本使用可以发现,Quartz 主要包含一下几种角色: 1)Job:也可以认为是JobDtetail,表示具体的调度任务 2)Trigger:触发器,用于定义任务Job出发执行…

十五、Vue 响应接口

文章目录 一、响应式系统基础什么是响应式系统响应式数据的声明与使用二、响应式原理深入Object.defineProperty () 方法的应用(Vue2)Proxy 对象的应用(Vue3)三、响应式接口之 ref 和 reactive(Vue3)ref 函数的使用reactive 函数的使用四、计算属性(computed)作为响应式…

Nature Electronics——近传感器计算:50 nm异构集成技术的革命

创新点:1.高密度互联设计:基于二维材料,开发出互连密度高达62,500 I/O每平方毫米的M3D集成结构。2.异构层堆叠:整合了第二层石墨烯化学传感器和第一层MoS₂记忆晶体管,实现功能互补。3.超短传感器与计算元件距离&#…

Ubuntu 安装 Java 1.8

如果你希望使用 Oracle JDK 8,可以按照以下步骤操作: 下载 Oracle JDK 8: 访问 Oracle 官方网站 下载适用于 Ubuntu 的 JDK 8 版本 安装 Oracle JDK 8: 将下载的 JDK 8 压缩包解压到一个目录中,例如 /opt/module&…