3.7 touch修改时间戳

3.7.1 语法

touch [选项]… 文件…
将每个文件的访问时间和修改时间改为当前时间。
不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。
如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间。

  • 例子:touch创建文件【touch 文件名(文件本身不存在)】
    touch如果修改指定文件的时间时。如果文件不存在,则会创建一个新的同名空文件(如果附带参数-c则不会创建新文件)
  • 例子:【touch -c yes.pub】
    注意:touch 不带参数,默认修改全部时间为当前系统时间
  • touch 修改时间戳_stat

  • 例如:【touch -a -t 201206181818 yes.pub】修改文件的访问时间。
    注意:由于修改文件的访问时间ACCESS,对文件做了改变,所以该文件的改变时间CHANGE会被系统改为当前时间
  • touch 修改时间戳_linux中的touch命令用法_02

  • 例子:使用指定文件的时间戳修改时间
    【touch -r text.text yes.pub】
    将text.text的时间戳覆盖到yes.pub上
  • touch 修改时间戳_touch修改时间戳_03

3.7.2 常用参数

  • 【-a】 只更改访问时间
  • 【-c】, --no-create 不创建任何文件
  • 【-d】, --date=字符串 使用指定字符串表示时间而非当前时间
  • 【-f】 (忽略)
  • 【-h】, --no-dereference改变符号链接本身的时间戳,而不同步修改符号链接链接文件的时间戳
  • 【-m】 只更改修改时间
  • 【-r】, --reference=文件 使用指定文件的时间属性而非当前时间(使用指定文件的时间戳覆盖当前文件的时间戳)
  • 【-t】 STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间 格式:年月日小时分钟秒 201212121212
    –time=WORD 使用WORD 指定的时间:access、atime、use 都等于-a
    选项的效果,而modify、mtime 等于-m 选项的效果
    –help 显示此帮助信息并退出
    –version 显示版本信息并退出
    请注意,-d 和-t 选项可接受不同的时间/日期格式。

3.7.3 附加

访问时间:atime
修改时间:mtime
改变时间: ctime

  • 【stat】显示文件的状态信息
    语法:stat [选项]… 文件…
    -L, --dereference follow links
    -Z, --context print the SELinux security context
    -f, --file-system display file system status instead of file status
    -c --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行
    –printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作
    输出结尾。如果您仍希望使用换行,可以在格式中
    加入"\n"
    -t, --terse 使用简洁格式输出
  • 【touch --help】
[root@gdy103 bin]# touch --help
用法:touch [选项]... 文件...
将每个文件的访问时间和修改时间改为当前时间。

不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。

如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间。

长选项必须使用的参数对于短选项时也是必需使用的。
-a 只更改访问时间
-c, --no-create 不创建任何文件
-d, --date=字符串 使用指定字符串表示时间而非当前时间
-f (忽略)
-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
-m 只更改修改时间
-r, --reference=文件 使用指定文件的时间属性而非当前时间
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间
--time=WORD 使用WORD 指定的时间:access、atime、use 都等于-a
选项的效果,而modify、mtime 等于-m 选项的效果
--help 显示此帮助信息并退出
--version 显示版本信息并退出

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

请向bug-coreutils@gnu.org 报告touch 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告touch 的翻译错误
要获取完整文档,请运行:info coreutils 'touch invocation'
[root@gdy103 bin]#
  • 【stat --help】
[root@gdy103 bin]# stat --help
用法:stat [选项]... 文件...
Display file or file system status.

-L, --dereference follow links
-Z, --context print the SELinux security context
-f, --file-system display file system status instead of file status
-c --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行
--printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作
输出结尾。如果您仍希望使用换行,可以在格式中
加入"\n"
-t, --terse 使用简洁格式输出
--help 显示此帮助信息并退出
--version 显示版本信息并退出

有效的文件格式序列(不使用 --file-system):

%a 八进制权限
%A 用可读性较好的方式输出权限
%b 计算已分配块数(参见%B)
%B 以字节为单位输出%b 所报告的每个块的大小
%C SELinux 安全环境字符串
%d 十进制设备编号
%D 十六进制设备编号
%f 十六进制原始模式
%F 文件类型
%g 文件的属组ID
%G 文件的属组组名
%h 硬链接数量
%i Inode 编号
%n 文件名
%N 如果对象是一个符号链接,显示引用到的其它文件名
%o I/O 块大小
%s 总计大小,以字节为单位
%t 十六进制主设备类型
%T 十六进制子设备类型
%u 文件的属主ID
%U 文件的属主用户名
%x 上次访问时间
%X 从UNIX 元年起计的上次访问时间
%y 上次修改时间
%Y 从UNIX 元年起计的上次修改时间
%z 上次更改时间
%Z 从UNIX 元年起计的上次更改时间

有效的文件系统格式序列:

%a 非超级用户可用的剩余块数
%b 文件系统的总数据块数
%c 文件系统中文件节点总数
%d 文件系统中空闲文件节点数
%f 文件系统中空闲块数
%C SELinux 安全环境字符串
%i 十六进制文件系统ID
%I 允许的文件名最大长度
%n 文件名
%s 块大小(用于快速传输)
%S 基本块大小(用于块计数)
%t 十六进制类型描述
%T 可读性较好的类型描述

注意:您的shell 内含自己的stat 程序版本,它会覆盖这里所提及的相应
版本。请查阅您的shell 文档获知它所支持的选项。

请向bug-coreutils@gnu.org 报告stat 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告stat 的翻译错误
要获取完整文档,请运行:info coreutils 'stat invocation'
[root@gdy103 bin]#