Linux命令如何修改文件的三个时间
本文主要对stat和touch两个命令进行讲解。
如何查看一个文件的元数据呢?可以使用stat命令。
File: 'ceshi1' 文件所在路径
Size: 4096 Blocks: 8 文件占据的磁盘块 IO Block: 4096 directory 文件类型
Device: 801h/2049d 文件所在的设备名 Inode: 378 文件索引节点号 Links: 4 被硬链接的次数
Access: (0775/drwxrwxr-x) 文件的用户权限 Uid: ( 1000/houhaibo) 文件的属主ID及属主名 Gid: ( 1000/houhaibo)文件的属组及属组名
Access: 2017-02-27 00:00:00.000000000 -0800 文件的最近一次访问时间
Modify: 2016-12-25 22:48:47.523724399 -0800 文件的最近内容修改时间
Change: 2017-02-03 19:34:56.273575429 -0800 文件的最近元数据修改时间
Birth: -
下面对stat命令进行详细的讲解
stat [OPTION]... FILE... 显示文件或文件系统的元数据
-f, --file-system 显示文件系统的元数据
-c --format=FORMAT 使用具体的输出格式代替默认的输出格式
FORMAT 的格式如下:
%A : 显示人类可读的访问权限
%y:数据修改时间
%Y: 以时间戳的形式显示数据修改时间
还有很多格式,具体请使用man 命令查看
由上可以知道文件包含三个时间,即最近的访问时间、最近的内容修改时间、文件的元数据修改时间。而如何手动的修改这三个时间呢?那就用到touch命令
下面对touch命令进行讲解
touch [OPTION]... FILE... 修改文件时间戳
其实touch命令不仅可以修改文件时间戳,还可以创建文件。即当touch后的文件名不存在时,系统会自动创建文件。
一般默认会将文件的访问时间和内容修改时间更新到当前时间。
-a 只改变访问时间
-m 只改变内容修改时间
-c 不创建任何文件
-d 设置修改的时间
-t 用[[CC]YY]MMDDhhmm[.SS]
格式代替当前时间
cc 指定年份的前两位数字。
yy 指定年份的后两位数字。
mm指定一年的哪一月(从 01 到 12)。
dd指 定一月的哪一天(从 01 到 31)。
hh指 定一天中的哪一小时(从 00 到 23)。
mm指 定一小时的哪一分钟(从 00 到 59)。
ss指定一分钟的哪一秒(从 00 到 59)。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!