在运行一个非常消耗资源的find 命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会话费很长的时间(譬如30G以上的文件系统)。当然你也可以把它调到前台执行,看着满屏的数据不断翻滚,

find——用于在文件树中查找文件,并作出相应的处理。

1 . 命令格式:

find pathname  -options [-print  -exec  -ok]

2 . 命令参数:

pathname: find 命令所查找的目录路径。譬如用 . 来表示当前目录,用  /  来表示系统根目录。

3 . 命令选项:

   -name  按照文件名查找文件
   -size n[cwbkMG] : 档案大小 为 n 个由后缀决定的数据块。其中后缀含义为:
    b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
    c: 表示字节数
    k: 表示 kilo bytes (1024字节)
    w: 字 (2字节)
    M:兆字节(1048576字节)
    G: 千兆字节 (1073741824字节)
   -perm  按照文件权限来查找文件
   -prune   使用这一选项可以使find 命令不在当前指定的目录中查找,如果同时使用 -depth 选项,那 -prune 将被 find 命令忽略
   -user  按照文件属主来查找文件
   -group  按照文件所属的组来查找文件
   -mtime    -n  +n  按照文件的更改时间来查找文件,  - n 表示更改时间距现在 n 天以内, + n 表示文件更改时间距现在 n 天以前。
   -amin  n  查找系统中最后N分钟访问的文件
   -atime  n  查找系统中最后 n*24 小时访问的文件
   -cmin  n  查找系统中最后 N 分钟被改变文件状态的文件
   -ctime  n  查找系统中最后 n*24小时被改变文件状态的文件
   -mmin  n  查找系统中最后 N 分钟被改变文件数据的文件
   -mtime  n   查找系统中最后 n*24 小时被改变文件数据的文件
   -type   查找某一类型的文件,诸如:
		b  块设备文件
		d  目录
		c  字符设备文件
		p  管道文件
		l  符号链接文件
		f  普通文件

基于目录深度的搜索

参数:

-maxdepth:指定最大查找深度,即最大向指定目录下面搜索maxdepth级

-mindepth:指定最小查找深度,即从指定目录下面第mindepth级目录开始搜索

find ./ -mindepth 2 -name "f*"
[root@ccd-sdv6 ~]# find ./ -maxdepth 3 -name *.log
./.cache/gdm/session.log    #表示当前目录一级、cache第二级、gdm第三级;最大寻找第三级下面的。
[root@ccd-sdv6 ~]# find ./ -maxdepth 2 -name *.log
[root@ccd-sdv6 ~]#

4 . 使用实例:

find  -atime  -2  查找48小时内修改过的文件
find  .   -name  "*.log"  在当前目录查找以 .log 结尾的文件。  “.” 代表当前目录
find   /opt/soft/test  -perm  777   查找/opt/soft/test 目录下, 权限为   777 的文件
find  .  -type   f   -name  "*.log"  查找当前目录中以 .log 结尾的 普通文件
find ./ -size +10c    查找文件size大于10个字节的文件或目录
find ./ -size -10k    查找文件size小于10k的文件或目录