本文详细介绍了Linux中Find命令的相关知识


在文件系统中,我们常常会去查找某个文件,而在Linux中locate和find都是用于查找文件的。

其中locate命令是非实时查找,它会根据数据库进行查找,所以速度快,但属于模糊查找。命令的格式是 # locate FILE。而find是实时查找,精确匹配,但速度慢。


(1)命令格式

#find [查找位置] [查找标准] [处理动作]

   查找位置:默认为当前目录;

   查找标准:默认为查找指定目录下的所有文件;

   处理动作:默认为显示到标准输出。


(2)选项

1.查找标准选项:

   -uname "文件名称" :根据文件名查找(支持glob)

linux 怎样模糊搜索db2日志文件内容_标准输出

   -iuname "文件名称" :根据文件名查找,但是不区分大小写

linux 怎样模糊搜索db2日志文件内容_数据库_02

   -user USERNAME :根据属主查找

linux 怎样模糊搜索db2日志文件内容_操作系统_03

   -group GRPNAME :根据属组查找。这里不在举例

   -uid UID:根据uid查找

linux 怎样模糊搜索db2日志文件内容_操作系统_04

   -gid GID:根据gid查找

   -nouser:查找没有属主的文件

   -nogroup:查找没有属组的文件

   -type:根据文件类型查找    



       f:普通文件



       d:目录



       b:块设备



       c:字符设备



       l:符号链接



       p:命名管道



       s:套接字文件



linux 怎样模糊搜索db2日志文件内容_数据库_05

   -size :根据文件大小查找

# find -size -2M则是显示文件大小小于2M的文件。常用的单位有k(必须小写),M(大写),G(大写)

linux 怎样模糊搜索db2日志文件内容_文件名_06

查找最后#天访问的文件,类似的命令还有-amin

   -mtime [+|-]#:查找最后#天修改的文件,类似的命令还有-mmin

   -ctime [+|-]#:查找最后#天改变的文件,类似的命令还有-cmin

   -perm [+|-]MODE:根据权限查找

[+|-]表示精确权限匹配

       +MODE:任何一类用户的任何一位权限匹配即可

       -MODE:3类用户的每一位权限都需要包含


2.组合条件查找选项:

   -a:与(默认)

   -o:或

   -not,!:非

并且文件名以一个字符.test文件:

               # find /temp -name "?.test" -nouser -ls


3.处理动作选项:

查找到的文件



   -ls:显示查找到的文件的详细信息



   -exec COMMAND \;  :执行其他命令



        例如把30天没访问的文件改为原文件名.old:

           # find /tmp -atime +30 -exec mv {} {}.old \;






:执行其他命令,与-exec一样



   -ok COMMAND \;   :执行其他命令。每一个要确认





转载于:https://blog.51cto.com/xlows/1399183