Linux的find命令实例详解和mtime ctime atime
这次解释一下三个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的更多相关文章
- Linux备份数据库,mysqldump命令实例详解
mysqldump是mysql数据库中备份工具,用于将MYSQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 语法: mysqldump (选项) 选项: --add-drop-ta ...
- Linux计划任务Crontab实例详解教程
说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...
- Linux下find命令用法详解
Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录 ...
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- Linux中mpstat命令参数详解
Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...
- linux基础-磁盘阵列(RAID)实例详解
磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...
- Linux权限管理命令chmod详解
命令chmod详解 命令chmod(英文原意:change permissions mode of a file),所在路径为: 可以看到,它的路径为:/usr/bin/chmod,因此,它的执行权限 ...
- Linux下的Make命令实例详解
众所周知在Linux系统下的make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.下面这 篇文章我们将用一 ...
- 入门学习Linux常用必会命令实例详解
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...
随机推荐
- 题解 P2863 【[USACO06JAN]牛的舞会The Cow Prom】
题目链接 赤裸裸的板子,就加一个特判就行.直接上代码 #include<stdio.h> #include<algorithm> #include<iostream> ...
- Java中的Random()函数-----转载
Java中的Random()函数 (2013-01-24 21:01:04) 转载▼ 标签: java random 随机函数 杂谈 分类: Java 今天在做Java练习的时候注意到了Java里面的 ...
- c语言数据结构学习心得——栈
栈(Stack) 只允许在一端进行插入或删除操作的线性表 栈顶(Top):栈中允许进行插入和删除操作的那一端: 栈底(Bottom):固定的,不允许进行插入或删除的另一端 1.栈是受限的线性表,所以自 ...
- vscode 遇到设置问题
// 控制是否在新窗口中打开文件. // - default: 除了从软件内部选择的文件 (如,从“文件”菜单选择),其他所有文件都将在新窗口中打开 // - on: 文件将在新窗口中打开 // - ...
- Jmeter函数作用域实时取值覆盖[针对HTTP Request等控制器]
jmeter的属性和变量可以简单理解为编程里面的全局变量和局部变量.属性是全局可见,可以跨线程组传递调用,而变量基本上只能存在于一个线程组中(在测试计划定义的变量也是可以跨线程组传递的).同线程组内的 ...
- django基础知识之Response对象
HttpResponse对象 在django.http模块中定义了HttpResponse对象的API HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建 不调 ...
- python xlwt 与 xlsxwriter 模块差别
Xlwt 模块有一个bug, 就是所用样式过多的话,之后的数据将使用不了样式,相反xlsxwriter 模块 不会有此问题. 用Xlwt模块的同学们,请务必转换用xlsxwriter模块 !!!!!! ...
- springmvc相关配置和用法
目录如下: 一.spring mvc 核心类与接口 二.spring mvc 核心流程图 三.spring mvc DispatcherServlet说明 四.spring mvc 父子上下文的说明 ...
- LeetCode记录之28——Implement strStr()
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...
- Apache Shiro(六)-基于URL配置权限
数据库 先准备数据库啦. DROP DATABASE IF EXISTS shiro; CREATE DATABASE shiro DEFAULT CHARACTER SET utf8; USE sh ...