【busybox记录】【shell指令】touch

目录

内容来源:

【GUN】【touch】指令介绍

【busybox】【touch】指令介绍

【linux】【touch】指令介绍

使用示例:

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【touch】指令介绍

touch:修改文件时间戳
touch 改变指定文件的访问(和/或)修改时间戳。
简介:
touch [option]... file...
任何不存在的文件参数都会被创建为空,除非选项 --no-create (-c)或 --no-dereference (-h)生效。
文件参数字符串'-'被特殊处理,并导致touch更改与标准输出相关联的文件的时间。
默认情况下,touch会将文件时间戳设置为当前时间。因为touch操作的操作数从左到右,所以前面和后面操作数的时间戳可能不一致。
当将文件时间戳设置为当前时间时,touch可以修改用户没有权限但有写权限的文件的时间戳。否则,用户必须拥有这些文件。一些旧的系统还有进一步的限制:除非访问和修改时间戳都设置为当前时间,否则文件必须是用户的。
touch命令不能将文件的状态更改时间戳设置为用户指定的值,也不能更改文件的出生时间(如果支持的话)。此外,touch也存在与所有更新文件时间戳的程序类似的问题。例如,touch可以将文件的时间戳设置为与请求的时间略有不同的值。请参阅第28章[文件时间戳]的244页。
时间戳采用由TZ环境变量指定的时区规则,如果没有设置TZ,则采用系统默认规则。请参阅GNU C库参考手册中的“用TZ指定时区”一节。您可以使用UTC时间戳来避免夏令时转换期间的歧义。
该程序接受以下选项。参见第2章[常见选项],第2页。
‘-a’
‘--time=atime’
‘--time=access’
‘--time=use’
	只修改访问时间戳。请参阅第28章[文件时间戳]的244页。
‘-c’
‘--no-create’
	不要对不存在的文件发出警告或创建文件。
‘-d time’
‘--date=time’
	使用time而不是当前时间。它可以包含月份名称、时区、'am'和'pm'、'yesterday'等。例如, --date="2020-07-21 14:19:13.489392193 +0530" 指定时间瞬间,即在UTC以东5小时30分的时区中,2020年7月21日下午2:19:13之后的489,392,193纳秒。参见第29章[日期输入格式],第245页。不支持高分辨率时间戳的文件系统在这里会忽略任何额外的精度。
‘-f’ 
	忽略;兼容BSD版本的触摸。
‘-h’
‘--no-dereference’
	尝试更改符号链接的时间戳,而不是链接所指的内容。使用此选项时,不会创建空文件,但必须使用 option -c 以避免对不存在的文件发出警告。并非所有系统都支持修改符号链接的时间戳,因为底层系统直到POSIX 2008才需要支持该操作。此外,在某些系统上,仅仅检查符号链接的行为就会改变访问时间戳,因此只有对修改时间戳的更改才会持续足够长的时间以被观察到。当使用option -r时,引用时间戳是从符号链接而不是它所引用的文件中提取的。
‘-m’
‘--time=mtime’
‘--time=modify’
	只修改修改时间戳。
‘-r file’
‘--reference=file’
	使用参考文件的时间而不是当前时间。如果将此选项与 --date=time (-d time)选项结合使用,则参考文件的时间是给定的任何相对时间的来源,否则将被忽略。例如,'-r foo -d '-5 seconds''指定一个时间戳,等于foo对应时间戳的前5秒。如果file是符号链接,则引用时间戳取自符号链接的目标,除非-h也生效。
‘-t [[cc]yy]mmddhhmm[.ss]’
	使用参数(可选的四位或两位的年、月、日、小时、分钟,可选的秒)来代替当前时间。如果年份只指定了两位数字,那么cc是20年,在0的范围内…68年,69年19年……99. 如果没有指定年份数字,则将参数解释为当年的日期。在支持闰秒的非典型系统上,ss可能是' 60 '。
	在POSIX 1003.1-2001之前的系统上,touch支持一种过时的语法,如下所示。如果任何-d、-r或-t选项都没有给出时间戳,并且如果有两个或更多文件,且第一个文件的格式为' mmddhhmm[yy] ',并且这将是-t选项的有效参数(如果yy被移到前面),并且如果所表示的年份在1969-1999之间,则该参数将被解释为其他文件的时间,而不是文件名。
	尽管可以用_POSIX2_VERSION环境变量控制这种过时的行为(参见2.13节),但可移植脚本应该避免那些行为依赖于该变量的命令。例如,使用` touch ./12312359 main.c `或` touch -t 12312359 main.c `,而不是模棱两可的` touch 12312359 main.c `。
退出状态为零表示成功,非零值表示失败。

【busybox】【touch】指令介绍

[root@localhost bin]# ./touch --help
BusyBox v1.36.1 (2024-04-16 11:16:28 EDT) multi-call binary.

Usage: touch [-cham] [-d DATE] [-t DATE] [-r FILE] FILE...

Update mtime of FILEs

	-c	Don't create files
	-h	Don't follow links
	-a	Change only atime
	-m	Change only mtime
	-d DT	Date/time to use
	-t DT	Date/time to use
	-r FILE	Use FILE's date/time

【linux】【touch】指令介绍

[root@localhost bin]# touch  --help
用法:touch [选项]... 文件...
Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h
is supplied.

A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.

必选参数对长短选项同时适用。
  -a			只更改访问时间
  -c, --no-create	不创建任何文件
  -d, --date=字符串	使用指定字符串表示时间而非当前时间
  -f			(忽略)
  -h, --no-dereference		会影响符号链接本身,而非符号链接所指示的目的地
				(当系统支持更改符号链接的所有者时,此选项才有用)
  -m			只更改修改时间
  -r, --reference=FILE   use this file's times instead of current time
  -t STAMP               use [[CC]YY]MMDDhhmm[.ss] instead of current time
      --time=WORD        change the specified time:
                           WORD is access, atime, or use: equivalent to -a
                           WORD is modify or mtime: equivalent to -m
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

请注意,-d 和-t 选项可接受不同的时间/日期格式。

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 touch 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/touch>
或者在本地使用:info '(coreutils) touch invocation'

使用示例:

使用后更新

常用组合指令:

指令不常用/组合用法还需继续挖掘:

相关推荐

  1. busybox记录】【shell指令touch

    2024-07-18 02:10:04       24 阅读
  2. busybox记录】【shell指令】df

    2024-07-18 02:10:04       25 阅读
  3. busybox记录】【shell指令】du

    2024-07-18 02:10:04       16 阅读
  4. adb shell 指令

    2024-07-18 02:10:04       35 阅读
  5. 【vue自定义指令touch-move】

    2024-07-18 02:10:04       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 02:10:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 02:10:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 02:10:04       58 阅读
  4. Python语言-面向对象

    2024-07-18 02:10:04       69 阅读

热门阅读

  1. 数据库连接的艺术:在PyCharm中轻松配置

    2024-07-18 02:10:04       25 阅读
  2. Linux C++ 053-设计模式之模板方法模式

    2024-07-18 02:10:04       23 阅读
  3. OpenGL-0-简要说明

    2024-07-18 02:10:04       22 阅读
  4. 入门c语言DAY4.1——scanf&printf详细介绍

    2024-07-18 02:10:04       24 阅读
  5. 【C#】Array和List

    2024-07-18 02:10:04       21 阅读
  6. qt设置窗口位置设置

    2024-07-18 02:10:04       22 阅读
  7. bs4取值技巧的详细介绍

    2024-07-18 02:10:04       22 阅读
  8. Llama - Prompting

    2024-07-18 02:10:04       21 阅读
  9. 【SASS/SCSS(二)】模块化语法

    2024-07-18 02:10:04       26 阅读
  10. HTML5应用的安全防护策略与实践

    2024-07-18 02:10:04       22 阅读
  11. 23种设计模式

    2024-07-18 02:10:04       20 阅读