这次解释一下三个Linux文件显示的三个时间,然后展示一下find命令的各个功能

在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime

  • modification time(mtime):

   当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别

  • status time(ctime)

   当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,给我的感觉更像是change time,但这么说也不完全对,因为只有当更新文件的属性或者权限的时候才会更新这个时间,更改内容的话是不会更新这个时间的

  • accesstime(atime)

   当使用这个文件的时候就会更新这个时间

那么为什么我使用vim打开一个文件的时候,atime没有改变呢?因为在我当前的版本中,有了relatime的概念,如果我们频繁的对文件进行读取访问,就会频繁的修改atime,然后频繁的访问磁盘I/O,性能下降的很厉害,说实话,慢!用了relatime参数之后,除非atime早于mtime或者ctime,否则atime不会被更新

悲剧,中文的linux三个时间都翻译过来了。。。

find指令详解,它有很多功能,很强大,实时性很强,每找一个文件都会十分老实地去磁盘中寻找,所以它又很慢。。。

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

PS:[]中的是可以没有的,就是附加选项

-path:就是文件的路径啦

-option:就是下面要说明的各个参数,参数后面有的会有操作数,需要注意

-print:find命令将匹配的文件输出到标准输出。

-exec : -ok是-exec的一个选项,加上之后执行command时会询问用户

{} \:注意是反斜杠,大括号和反斜杠之间有一个空格

-;:注意!!!!分号必不可少!!!

  • 先来一个例子

这里显示出了我写的一个命令,快看!分号不能少(因为我老是忘记,所以多写几遍),因为ls -l本身就不会询问用户(rm命令会询问,试试rm吧),所以自然用不了-ok,当我把-ok去掉之后,就可以正常执行ls -l了,

find命令参数详解

find命令有很多参数,下面就用截图来一一说明

  • -name   filename             #查找名为filename的文件,和下面的放在一张图里面了
  • -perm                        #按执行权限来查找,使用权限查找的时候使用权限码就可以了

  • -user    username             #按文件属主来查找
  • -group groupname            #按组来查找

  • -mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
  • -atime    -n +n               #按文件访问时间来查GIN: 0px">
  • -ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

看到这里的-n之后就理所当然的想到+n是n天之后?我仔细想了想,我怎么可能在未来创建文件。。。

找到的几乎都是同样的文件,原因是我很少去linux里面创建新的文件,而是把windows的文件直接通过磁盘共享拿过去。。。

  • -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在

咱好像没有这样的文件啊

  • -nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存

这样的似乎也没有

  • -newer   f1 !f2               #查更改时间比f1新但比f2旧的文件,使用的时候要注意f1和f2前面都应该有-newer参数才行

  • -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件

我先建立了一个管道文件,然后搜索类型为管道文件的文件(。。。)

  • -size      n[c]               #查长度为n块[或n字节]的文件

这个我就不截图了。。

  • -depth                       #使查找在进入子目录前先行查找完本目录

给我的感觉而言,这个更像是遍历该文件夹下所有文件的样子,遇到子目录的时候先不进入子目录遍历,而是遍历完当前文件夹下的所有文件之后再去遍历子目录(就是子文件夹)下的文件,这样不断地递归。。。这不就是个层序遍历么?

  • -fstype:查找位于某一类型文件系统中的文件,文件系统类型可在/etc/fstab中找到

这个参数是什么意思没有太理解,测试了一下什么也没有找到,我都不知道应该怎么测试他

  • -mount                       #查文件时不跨越文件系统mount点

这个参数似乎是不允许进入子目录进行查找的,我试了一下,子目录下的文件说是查找不到

  • -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件

当有硬链接的时候就不跟踪了,下面有个实例,file_hard是硬链接,file_ln是符号链接,当我把软连接删除,就不会跟踪到./test/file这个链接文件了,证明硬链接是不能跟踪的

  • -cpio                         #对匹配的文件使用cpio命令,将他们备份到磁带设备中

在普通的查找结果之后,把该文件备份写到磁盘上。。。

  • -prune                       #忽略某个目录

这个就不用说了吧。。。。

最后强烈希望各位批评指正!!我还有很多不懂得地方,指出来我会超感谢的!

												

Linux的find命令实例详解和mtime ctime atime的更多相关文章

  1. Linux备份数据库,mysqldump命令实例详解

    mysqldump是mysql数据库中备份工具,用于将MYSQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 语法: mysqldump (选项) 选项: --add-drop-ta ...

  2. Linux计划任务Crontab实例详解教程

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  3. Linux下find命令用法详解

    Linux下find命令用法详解   学神VIP烟火 学神IT教育:XueGod-IT   最负责任的线上直播教育平台   本文作者为VIP学员 烟火   第一部分:根据文件名查找   1.在当前目录 ...

  4. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  5. Linux中mpstat命令参数详解

    Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...

  6. linux基础-磁盘阵列(RAID)实例详解

    磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...

  7. Linux权限管理命令chmod详解

    命令chmod详解 命令chmod(英文原意:change permissions mode of a file),所在路径为: 可以看到,它的路径为:/usr/bin/chmod,因此,它的执行权限 ...

  8. Linux下的Make命令实例详解

    众所周知在Linux系统下的make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.下面这 篇文章我们将用一 ...

  9. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

随机推荐

  1. Java面向对象之关键字this 入门实例

    一.基础概念 1.关键字this是指:哪个对象调用this所在的函数.this就指向当前这个对象. 2.用法: (1).this关键字可以解决:构造函数私有化问题. 注意:构造函数只能被构造函数调用, ...

  2. Flink生态与未来

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  3. 前端模块开发的基础代码,兼容amd,cmd标准,也可以直接使用window来引用对象

    (function(global, factory) { if (typeof define === 'function' && define.amd) { define(functi ...

  4. 洛谷 P3381【模板】最小费用最大流

    题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表 ...

  5. PHP编程入门与应用

    基础语法.流程控制语句.数组的应用.字符串的应用————3天 PHP函数————3天 面向对象————3天 文件处理————2天 获取页面数据.会话处理————3天 数据库————5天 XML和JSO ...

  6. os模块与 sys模块

    os模块是与操作系统交互的一个接口 ''' os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作 ...

  7. 005 Genymotion模拟器的使用和逍遥模拟器的使用

    1.Genymotion模拟器 (1)Genymotion Device Manager的图标 重启软件Android Studio后,选择菜单栏“View--Toolbar”,让工具栏显示出来,可以 ...

  8. In linux shell, How to cp/rm files by time?

    find /path/to/folder/ -mtime 1 -exec rm {} \; // Deletes all Files modified yesterday

  9. POJ_1850 Code【组合的运用】

    题目: Transmitting and memorizing information is a task that requires different coding systems for the ...

  10. HDU - 5067 / HDU - 5418 TSP

    集合表示多用[0,n)表示方法 HDU - 5067 经典TSP,每个顶点恰经过一次最优 #include<bits/stdc++.h> #define rep(i,j,k) for(in ...