当前位置: 首页 > article >正文

【linux009】文件操作命令篇 - touch 命令

文章目录

    • touch 命令
      • 1、基本用法
      • 2、常见选项
      • 3、举例
      • 4、注意事项

touch 命令

touch 是 Linux 系统中的一个常用命令,用于创建空文件更新已有文件的时间戳。它既可以用来快速生成新文件,也可以用来修改文件的访问时间(access time, atime)和修改时间(modification time, mtime)

1、基本用法

touch [选项] 文件名...

2、常见选项

  • -a:更新文件的访问时间(access time),而不改变修改时间(modification time)。
  • -c:如果文件不存在,则不创建文件,也不会报错。
  • -d:使用指定的字符串时间(而不是当前时间)来设置文件的访问和修改时间。时间格式可以是多种标准格式,例如 YYYYMMDDhhmm[.ss] 或描述性字符串如 next Wed
  • -f:如果文件是一个符号链接,则更新的是符号链接本身,而不是它指向的文件。
  • -h:类似于 -f 选项,如果文件是一个符号链接,则更新符号链接本身。这是 -f 的另一种写法,在某些实现中可能只支持其中一种。
  • -m:更新文件的修改时间(modification time),而不改变访问时间(access time)。
  • -r:使用指定文件的访问和修改时间来更新目标文件的时间戳。
  • -t:使用指定的时间(而不是当前时间)来设置文件的访问和修改时间。时间的格式是 [[CC]YY]MMDDhhmm[.ss],其中 CC 是世纪(可选),YY 是年份的后两位,MM 是月份,DD 是日期,hh 是小时,mm 是分钟,ss 是秒(可选)。
  • –time=TIME:设置要更新的时间类型。可以是 atime(访问时间)、mtime(修改时间)或 time(默认同时更新访问和修改时间)。
  • –help:显示 touch 命令的帮助信息并退出。

3、举例

-a 选项举例:

#只修改访问时间
touch -a filename

在这里插入图片描述

-m选项举例:

#只修改修改时间
touch -m filename	

在这里插入图片描述

-c 选项举例:

#如果文件不存在,不会创建新文件;只尝试更新已有文件的时间戳
touch -c filename

在这里插入图片描述

-t 选项举例:

#指定时间戳
touch -t 202410171230.30 filename

手动指定时间戳。格式为:

  • CCYY:世纪和年份(可选)。
  • MMDD:月份和日期。
  • hhmm:小时和分钟。
  • .ss:秒(可选)

在这里插入图片描述

-d选项举例:

#使用人类可读的时间字符串
touch -d "2024-10-17 12:30:00" filename	

在这里插入图片描述

-r 选项举例:

#将目标文件的时间戳设置为与源文件相同。
touch -r source_file target_file

在这里插入图片描述

–help 选项举例:

#显示帮助信息。
touch --help

在这里插入图片描述

--version选项举例:

#显示命令版本。
touch --version

在这里插入图片描述

4、注意事项

权限问题

  • 如果没有权限修改文件的时间戳或创建文件,touch 命令会失败。在这种情况下,可以使用 sudo
sudo touch filename

-c 选项防止意外创建文件

  • 在自动化脚本中,如果不希望误创建文件,建议使用 -c选项:
touch -c filename

时间格式的正确性

  • 使用 -t指定时间时,必须严格遵守格式,否则会报错。例如:
touch -t 202410171200 filename  # 正确格式
touch -t 2024-10-17 filename    # 错误格式

特殊时间戳的影响

  • 如果系统时间不正确,touch 会根据当前系统时间设置时间戳,因此在处理时间敏感任务时需要确保系统时间准确。

时间戳精度

  • 某些文件系统不支持高精度时间戳,秒级以下的时间可能会被忽略。
    在这里插入图片描述

http://www.kler.cn/news/353233.html

相关文章:

  • 免费开源Odoo软件如何实现电商仓库高效发货
  • RabbitMQ进阶_可靠性
  • 【Spring篇】Spring中的Bean管理
  • QGraphics类型学习使用【Qt】【C++】
  • 大规模多传感器滑坡检测数据集,利用landsat,哨兵2,planet,无人机图像等多种传感器采集数据共2w余副图像,mask准确标注滑坡位置
  • Facebook网页版登录不了是什么原因?如何解决?
  • LeetCode Hot100 | Day5 | 二叉树右视图二叉树展开为链表
  • python配合yolov11开发分类训练软件
  • Linux操作系统小项目——实现《进程池》
  • 玛哈特矫平机:塑造未来制造业的平整基石
  • 微服务子项目中SpringBoot启动时无法正常加载yml配置文件
  • C++学习路线(十三)
  • 【Linux】Linux下进程Vs线程
  • 【IEEE独立出版 | 厦门大学主办】第四届人工智能、机器人和通信国际会议(ICAIRC 2024)
  • fiber的原理
  • CTFHUB技能树之SQL——报错注入
  • 算法专题七: 分治归并
  • 【C#】WPF MVVM 简单示例代码
  • 深入了解Spring重试组件spring-retry
  • 【python】极简教程4-接口设计
  • 开源影像tif切图工具gdal2tiles部署以及切图
  • 给定数组找出出现次数超过数组长度一半的数
  • ETL转换:金蝶云和旺店通数据集成全流程
  • 详解23种设计模式
  • MySQL新手向:对比常用存储引擎
  • 人工智能正在扼杀云计算的可持续性