一.文件的三个时间

当我们在linux中创建了文件或文件夹,文件/文件夹就有了时间属性,而且linux中的文件具有三个时间,可以通过stat命令查看文件的三种时间:

  • ​ 访问时间(Access time):又简称为atime,对文件进行一次读操作,它的访问时间就会改变。例如cat,more等操作,但是stat,ls命令对atime是不会有影响的。
  • ​ 修改时间(Modify time):又简称为mtime,文件内容最后一次修改的时间,我们经常用的ls -l命令显示出来的文件时间就是这个时间,当对文件内容修改后,它的mtime就会相应的改变,例如vim操作。
  • ​ 改变时间(Change time):又简称为ctime,当文件的状态被改变的时候,改变时间就会随之改变。例如当使用chmod、chown等改变文件属性的操作是会改变文件的ctime。
[root@node5 ~]# stat test.txt
File: ‘test.txt’
Size: 57 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 34566832 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-10-03 13:26:27.884061279 +0800
Modify: 2020-10-03 13:26:27.884061279 +0800
Change: 2020-10-03 13:26:27.884061279 +0800 #atime不会一直更新,只有当mtime更新的时候,atime才会更新

二.修改文件的三种时间为任意时间

当我们拿到一个文件,就可以随心所欲的修改文件的三个时间。

[root@node5 ~]# ll -h test.txt
-rw-r--r-- 1 root root 57 Oct 3 13:26 test.txt # -d, --date=字符串 使用指定字符串表示时间而非当前时间
#把test.txt文件的atime和mtime修改为20180605 21:00
[root@node5 ~]# touch -d "20180605 21:00" test.txt [root@node5 ~]# ll -h test.txt
-rw-r--r-- 1 root root 57 Jun 5 2018 test.txt
#查看发现test.txt文件的atime和mtime已经改变,但是ctime时间没变
[root@node5 ~]# stat test.txt
File: ‘test.txt’
Size: 57 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 34566832 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-06-05 21:00:00.000000000 +0800
Modify: 2018-06-05 21:00:00.000000000 +0800
Change: 2020-10-03 14:21:30.465143168 +0800
Birth: - #change time时间只能通过修改系统时间来自定义,但是一般情况下修改系统时间需要root权限
[root@node5 ~]# date -s 06/05/2018 >> test.txt
[root@node5 ~]# stat test.txt
File: ‘test.txt’
Size: 86 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 34566832 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-06-05 21:00:00.000000000 +0800
Modify: 2018-06-05 00:00:00.000000000 +0800
Change: 2018-06-05 00:00:00.000000000 +0800
Birth: - #此时发现系统时间已经改变
[root@node5 ~]# date "+%F %T"
2018-06-05 00:00:34 #现在需要更新系统时间为正常时间
[root@node5 ~]# /usr/sbin/ntpdate ntp.api.bz
3 Oct 14:39:27 ntpdate[6973]: adjust time server 114.118.7.161 offset 0.068864 sec #系统时间已经更新正常
[root@node5 ~]# date "+%F %T"
2020-10-03 14:39:46 #系统时间已经改变,但是ctime没变,此时文件的所有时间都已经改变
[root@node5 ~]# stat test.txt
File: ‘test.txt’
Size: 86 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 34566832 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-06-05 21:00:00.000000000 +0800
Modify: 2018-06-05 00:00:00.000000000 +0800
Change: 2018-06-05 00:00:00.000000000 +0800
Birth: -

linux文件的三个时间,修改文件时间为任意时间的更多相关文章

  1. ***Linux系统下如何查看及修改文件读写权限

    查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些:-rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是 ...

  2. [转]Linux系统下如何查看及修改文件读写权限

    转自 :http://www.cnblogs.com/CgenJ/archive/2011/07/28/2119454.html 查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx ...

  3. linux命令(6/11)--修改文件的用户组chgrp和文件所有者chown

    在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...

  4. linux下通过sed命令直接修改文件内容

    sed是实现对流的编辑.通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件.但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的 ...

  5. linux仅修改文件夹权限 分别批量修改文件和文件夹权限

    比如我想把/var/www/html下的文件全部改成664,文件夹改成775,怎么做呢 方法一: 先把所有文件及文件夹改成664,然后把所有文件夹改成775 chmod -R 664 ./ find ...

  6. 【转】c# winform 创建文件,把值写入文件,读取文件里的值,修改文件的值,对文件的创建,写入,修改

    创建文件和读取文件的值 #region 判断文件是否存在,不存在则创建,否则读取值显示到窗体 public FormMain() { InitializeComponent(); //ReadFile ...

  7. linux下的三种解压文件的命令?

    那要看你的压缩文件使用哪种压缩方式:gzip,压缩文件名:zip或gz,解压命令:unzipbzip2,压缩文件名:bz,解压命令:bzip2 -d上面两个是最常用的压缩方式,一般在linux下可以通 ...

  8. linux修改文件所有者和文件所在组

      chgrp  用户名    文件名  -R chown 用户名   文件名  -R -R表示递归目录下所有文件 以上部分已验证 一.修改文件所属组群——chgrp    修改文件所属组群很简单-c ...

  9. linux修改文件所属用户和用户组

    使用chown命令可以修改文件或目录所属的用户:       命令:chown 用户 目录或文件名       例如:chown testAdmin /home/work  (把home目录下的xua ...

  10. linux修改文件的权限和修改文件所有者和所属组

    文件设定法:chmod    [who]   [+][-][=]   [mode] who 文件所有者:u 文件所属组:g 其他:o 所有人:a +  添加权限 -  减少权限 =  覆盖原来权限 权 ...

随机推荐

  1. 【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit

    1.问题描述 根据https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-data-model-0000001736 ...

  2. Linux系统奇安信浏览器报错跨域:the resource is in more-private address space 'local'

    报错: Access to XMLHttpRequest at "123" from origin "456" has been blocked by CORS ...

  3. 手工安装部署openGauss3.0一主一备(非om工具安装)

    手工安装部署 openGauss3.0 一主一备(非 om 工具安装) 本文出处:https://www.modb.pro/db/425385 一.操作系统配置(centos7.6) 1.关闭防火墙 ...

  4. IntelliJ IDEA 配置类注释模板

    菜单栏依次点击 File > Settings 在弹出窗口中找到 Editor >File and Code Templates 在右侧中 Files 选项卡中找到 Class. 在右侧输 ...

  5. 把vim配置成顺手的python轻量级IDE(一)

    把vim配置成顺手的python轻量级IDE(一) 地球的外星人君 Linux云计算和Python推动市场提升的学习研究者. 分享一篇文章,正好最近正在折腾VIM,原文在把vim配置成顺手的pytho ...

  6. sql 语句系列(闰年)[八百章之第十九章]

    前言 判断闰年还是挺有用的. mysql select DAY(LAST_DAY(DATE_ADD(CURRENT_DATE,INTERVAL -DAYOFYEAR(CURRENT_DATE)+1+3 ...

  7. # AssertionError: The `num_classes` (3) in Shared2FCBBoxHead of MMDataParallel does not matches the length of `CLASSES` 80) in CocoDataset

    我看很多人都遇到了这个问题,有很多解决了的.我就把这篇博文再完善一下,让大家对mmdetection使用得心应手. mmdetection训练自己的数据集时报错 ️ : # AssertionErro ...

  8. vscode使用npm安装依赖报错

    1.报错信息 npm ERR! code EPERM npm ERR! syscall open npm ERR! path C:\Node\node_cache_cacache\index-v5\4 ...

  9. Java实现查看手机配置与功能

    "感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 代码 `` ...

  10. 将 Terraform 生态粘合到 Kubernetes 世界

    简介: 为了更高效,统一的管理云服务,IaC 思想近年来盛行,其中 Terrafrom 更是成功得到了几乎所有的云厂商的采纳和支持.以 Terrafrom 模型为核心的云服务 IaC 生态已经形成.然 ...