Linux----find命令

find命令

   find是一个很强大的命令,它是直接查找硬盘的。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

我先自己创建了文件名的test.c的普通文件,我们用指令mkdir,以及ls查看已经创建了test.c.


wKioL1c-SLrC-eemAAATMYeLBA0252.png

文件名:

1)find ./ -name test.c   查找文件名为test.c的文件                                         wKioL1c-SLrQ1hOiAAAJ-kDe0VI518.png

2)find。/ -name 'test.c*'  查找文件名包括test的文件                                         wKiom1c-R87RKuqTAAAOdTXgC2I195.png

正则表达式:

1)find 用 “!”来否定参数 .

find ./! -name '*.c' -print    查找文件名不为.c的文件,并打印出来。(实际后面的-print可要可不要,效果都会显示在屏幕上)

      Linux----find命令_第1张图片

2.根据文件时间来查找

Linux文件系统中每一个文件都有三种时间戳:

(1)访问时间(-atime):用户最近一次访问文件的时间;

(2)修改时间(-mtime):文件内容最后一次被修改的时间。

(3)变化时间(-ctime):文件元数据(metadata,例如权限或所有权)最后一次改变的时间。

 

-atime,-mtime,-ctime作为时间参数,单位是天。可以使用+表示大于,-表示小于(和根据文件的大小查找中的+,-相同)。

 

我们在这里只针对-mtime举例子了,其他两个时间戳也是一样的。

1)find ./ -mtime -5   查找小于等于5天内修改过的文件

2)find ./ -newer test.c   查找比test.c还要新的文件

      wKiom1c-SeqARLpeAAAfCW9zTwg842.png

本文出自 “顺势而为” 博客,转载请与作者联系!

你可能感兴趣的:(linux,find,表达式)