理解 atime,ctime,mtime (上)

Unix文件系统会为每个文件存储大量时间戳。这意味着您可以使用这些时间戳来查找任意时间访问到的任何文件或目录(读取或写入),更改(文件访问权限更改)或修改(写入)。

# 前言

之前写过一篇 find 命令的文章 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别 ,阅读量炒鸡高。正好现在在培训 RHCE,讲师跟我们说在 Linux 中有三个概念非常重要。那我就把这个点深度挖掘,结合 find 也给大家聊聊。

  • access time – atime

    • 文件访问时间 - 显示上次访问文件数据的时间。由Unix进程直接读取或通过命令和脚本。
  • change time – ctime
    • 文件改变时间 - 更改文件的所有权或访问权限ctime 也会更改。它也将自动突出显示最后一次文件的内容更新。
  • modify time – mtime
    • 显示上次更改文件内容的修改时间,它不会随所有者或权限更改而改变。用于跟踪文件本身的数据更改。

# 例子

一、查询命令 ls

1、文件修改时间(File Modify Time)

图1-1

图1-1显示的即为文件最后修改时间:Jul 28 18:05

2、文件访问时间(File Access Time)

图1-2

图1-2显示的即为文件最后访问时间:Aug 7 12:27

3、文件改变时间 (File Change Time)

图1-3

**如图1-3显示的即为文件最后改变时间:Aug 7 16:23 **

二、综合命令 stat

通过 stat 可以快速了解一个文件详细信息。

三、修改命令 touch

touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help][--version][文件或目录...]

或 touch [-acfm][--help][--version][日期时间][文件或目录...]

命令参数:

-d 使用指定的日期时间。
-a 只更改存取时间access
-m 只更改变动时间modify
-t 使用纯数字模式 [[CC]YY]MMDDhhmm[.ss] 替换日期

使用举例

--------------------------------------------

touch -m -d "2016-05-20 14:25:50" file
// 仅按照时间(-d)改变文件修改时间(-m)
touch -d "2016-05-20 14:25:50" file
touch -d "2016-05-20" file
touch -d "14:25:50" file
或者
touch -t 201605201315.50 file
// 按照 [[CC]YY]MMDDhhmm[.ss] 模式修改
touch -t 05201315 file

四、查询命令 find

1、选项

  • 以天为单位

    • -mtime
    • -atime
    • -ctime
  • 以分钟为单位
    • -mmin
    • -amin
    • cmin

2、选项

  1. +n: 大于n
  2. -n: 小于n
  3. n:等于n

# 结文:

本文基本理清楚三种概念。find 上还没有做演示,以及具体命令会修改那些时间还未讲清楚。

关注微信公众号(ITer奋斗点滴)回复:acm

得到最终版。

最新文章

  1. java utils
  2. 为什么MVC不是一种设计模式
  3. EclEmma的介绍、安装与使用
  4. POJ2155Matrix(二维线段树)
  5. win7硬盘安装Ubuntu12.04 64位时显示Error 15: File not found.
  6. uva 10154
  7. noip 2012 疫情控制
  8. js new Date()
  9. Nis+Nfs+Autofs
  10. O(n)线性时间找第K大,中位数
  11. ASP.NET MVC 5 基本构成
  12. scala练手之数字转汉字小工具
  13. 201521123074 《Java程序设计》第14周学习总结
  14. MySQL 8.0.12 基于Windows 安装教程(超级详细)
  15. 洛谷 P1114 “非常男女”计划
  16. The General Query Log Binary Log
  17. OpenResty 高阶实战之————Redis授权登录使用短连接(5000)和长连接(500W) 使用连接池AB压力测试结果
  18. 解决spring boot JavaMailSender部分收件人错误导致发送失败的问题
  19. iOS9中怎样注冊远程通知
  20. Rookey.Frame之菜单设置

热门文章

  1. sdc-docker
  2. js小例子之二级联动
  3. JS是面向过程、面向对象还是基于对象?面向对象的代码体现
  4. java 主类的main方法调用其他方法
  5. Java 设计模式系列(十)外观模式
  6. HBase 强制删除表
  7. 解决win7和2008连接windows 2003远程桌面很卡的问题
  8. redis cluster 使用中出现的问题
  9. mysql 截取字符串
  10. Area Learning