Linux的find命令实例详解和mtime ctime atime

来源:互联网 发布:同等学力研究生 知乎 编辑:程序博客网 时间:2024/05/17 21:57


这次解释一下三个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                       #忽略某个目录

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 边界路由 contiki边界路由 个人简历程序 2.编写一个C程序,假设图书馆的图书包含书名、编号和作者等3个属性,读者包含姓名和借书证属性,每位读 pythontcp实现聊天室 jstack RS编译码器 RS编译码器原理 高德地图 导航信息 当前导航路径信息 实时导航信息 高德导航时Navi的信息 高德NaviInfo 安卓蓝牙发送信息 clj.fastble 先采用队列求一条最短迷宫路径长度minlen,再采用栈求所有长度为minlen的最短迷宫路径 iOS蓝牙 pycharm激活 shadowsocks下载 shadowsocks下载 开源沙龙 C++程序设计从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数。 江南大学五部曲 centos搭建ss 算法之美_源代码发布(8) understand halfaSPIclockcycleproducesaclockedge 贪心算法活动 TRIZ系列-创新原理-17 朴素贝叶斯分类 王者荣耀金币 探索性数据分析演示 治安防控 治安 TRIZ系列-创新原理-19 TRIZ系列-创新原理-20 利用图像的平移、旋转、缩放、镜像等空间几何变换实现对图像的自适应缩放、几何变换等特效 利用图像的平移、旋转、缩放、镜像等空间几何变换实现对图像的几何变换等特效 [Err]1005-Can\'tcreatetable\'item4.#sql-1238_2c\'( SAPFICO财务成本知识