转自

周五有同事问起find命令中-mtime n、-mtime –n以及-mtime +n的用法区别,当时虽然记得这里n是n个24个小时的意思,也是对所有这几个属性详细的用法却一知半解,索性周末仔细google并且实践了一番,终于理清楚了个中乾坤。

find . –atime n        find . –ctimen            find . –mtime n

find . –atime –n       find . –ctime–n           find . –mtime -n

find . –atime +n       find . –ctime+n           find . –mtime +n

一、atime、ctime与mtime

atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,但是我试验时却发现使用cat、more时atime没有被修改。这个问题需要另外做研究探讨。

ctime即change time文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。

mtime即modify time,指文件内容被修改的时间。

使用stat可以查看文件的atime、ctime、mtime。

例:

stat ~/.bashrc

File:`/home/user_00/.bashrc'

Size: 1177            Blocks: 8          IO Block: 4096   regular file

Device: 801h/2049d      Inode:663962      Links: 1

Access: (0644/-rw-r--r--) Uid: ( 1003/ user_00)   Gid:(  100/  users)

Access: 2009-12-21 10:45:35.000000000 +0800

Modify: 2009-12-21 10:45:35.000000000 +0800

Change: 2009-12-2110:45:35.000000000 +0800

也可以使用ls查看文件的atime、ctime、mtime。

通常情况下我们使用的ls –l ~/.bashrc指示的是文件的modify time。

ls –lu ~/.bashrc 或者ls –l –time=atime~/.bashrc指示的是文件的access time

ls –lc ~/.bashrc 或者ls –l –time=ctime~/.bashrc 指示的是文件的change time

使用touch可以改变这三个时间。关于使用touch改变atime、ctime、mtime的方法,此处不做介绍。

二、find . –mtime中的参数n

find . –mtime n中的n指的是24*n, +n、-n、n分别表示:

+n: 大于n

-n:    小于n

n:等于n

但是man find里这样的解释还是比较令人费解的,不如直接看find . -mtime 中的用法

find . –mtime n:  File waslast modified n*24 hours ago.

最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时

find . –mtime +n:

最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早

find . –mtime –n:

最后一次修改发生在n天以内,距离当前时间为n*24小时以内

最新文章

  1. 封装WebAPI客户端,附赠Nuget打包上传VS拓展工具
  2. ubuntu 安装遇到黑屏
  3. BZOJ 3398 牡牛和牝牛
  4. mac brew install redis
  5. C++读入一个参数
  6. 1 。 LightOJ 1234 打表法(数据太大,把数据缩小100倍)
  7. Android UI ActionBar功能-Action Bar 左上角的向上或返回按钮
  8. Leetcode - Jump Game Two
  9. hdu5673 Robot 卡特兰数 / 默慈金数
  10. python 实现多层目录文件查找
  11. 使用python抓取数据之菜鸟爬虫1
  12. Aspose.Cells设置单元格格式
  13. zabbix 3.4监控mysql,提示mysql: [Warning] Using a password on the command line interface can be insecure.
  14. Vim 常用操作、查找和替换
  15. Max Points on a Line leetcode java
  16. everything排除指定目录和文件
  17. jenkins遇到含中文路径的SVN地址时认证通不过
  18. flask第二十三篇——模板【5】过滤器
  19. zoj 3329 概率dp
  20. java中加密解密工具类

热门文章

  1. 定制库到Maven本地资源库
  2. Docker for Mac 安装及Mysql安装使用
  3. adv7180驱动
  4. 使用OpenSSL创建自己的CA root certificate
  5. R 语言 相关入门资料
  6. 令人惊叹的HTML5动画及源码分析下载
  7. ubuntu16.04 桌面图标左侧,右侧,底部进行切换
  8. OCA,OCP,OCM傻傻分不清?
  9. memcached注意事项与应用范围、应用条件、限制
  10. ASP.NET CheckBoxList 控件实现全选、反选、清除功能 利用js