linux中跟踪结果命令 linux 跟踪命令( 三 )


find -ctime -1搜索最近两天创建的文件
注意:
1前面的“-”表示我们是从今天向以前的日期范围搜索,与数字前面没有"-"是有区别的 。如果你刚犯了一个错误但不确定会影响到那些文件,
这很简单可以使用如下查询:find -mmin -5
可以用以下命令查看atime和ctime
ls -lu或者 ls -l --time=atime 显示文件的atime
ls -lc 或者ls -l --time=ctime 显示文件的ctime
在提供一个例子 , 搜索当前目录下前20分钟到10分钟修改过的文件 。
find . -mmin +9 -mmin -21
还可以使用 "-newer","-anewer","-cnewer"参数来指定一个文件,将其与要搜索的文件进行时间的比较 。
? -newer 指内容最近被修改的文件
? -anewer 指最近被读取过的文件
? -cnewer 指状态最近发生变化的文件(查看文件状态命令 stat filename)
例如,查找在sum.java 之后修改的文件
find -newer "sum.java"
4.基于 文件的大小 来搜索
例如我们知道一个Linux文件大小为1,500 bytes,那么我们可是使用如下命令来查询
find . -size 1500c
字符 c 表明这个要查找的文件的大小是以bytes为单位 。如果我们连这个文件的具体大小都不知道,那么在Linux中还可以进行模糊查找方式来解决 。例如我们输 入
find . -size +10000000c
这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来 。命令中的“+”是表示要求系统只列出大于指定大小的文件 , 
而使 用“-”则表示要求系统列出小于指定大小的文件 。
还有很多例子,
搜索大小为10M的文件
find . -size 10M
搜索大于10M的文件
find . -size +10M
找到小于10M的文件
find . -size -10M
要列出所有长度为零的文件 , 请使用下面的命令:
find . -empty - exec ls {} \
在查找到空文件之后,您可以选择用 rm 命令来代替ls 命令,以删除这些文件 。
5. 基于 文件的权限 来搜索
查找当前目录下所有文件权限为755的文件
find . -perm 755 -print
6.使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件,我们可以使用-and来把两个查找选项链接
起来组合成一个混合的查找方式 。
find /tmp -size +10000000c -and -mtime +2
如何搜索修盖时间介于f1与f2各自的修改时间之间的文件?
find . -newer f1 -and ! -newer f2//f1的修改时间应早于f2的修改时间
学习过计算机语言的朋友都知道 , 在计算机语言里 , 使用and ,or 分别表示“与”和“或”的关系 。在Linux系统的查找命令中一样通用 。
还有这样的例子,
find / -user fred -or -user george
我们可以解释为在/tmp目录中查找属于fred或者george这两个用户的文件 。
在find命令中还可以使用“非”的关系来查找文件,如果我们要在/tmp目录中查找所有不属于panda的文件 , 使用一个简单的
find /tmp ! -user panda
更好的利用find
7.快速执行上一次的find命令而不用重复输入参数
!find
事实上,"!"可以用在任何unix/linux命令的前面,以执行上一条同种类型的命令 。
8.改变显示结果
find对文件执行的标准行为是显示出文件名 , 这就是为什么如果你跟踪结果,就会看到一系列文件名的原因 。如果你想使用这些结果作为另外一个过滤器的输入的话,
这将会十分有用 。但是如果你需要结果的更多信息,你可以令find输出与ls –l同样的结果:
find -user gary -iname "*.html" -ls

推荐阅读