linux查找搜索命令<五>(find)[重点]

 

 在前面的博文中介绍了locate,whereis,locate的简单应用,在这篇中我将重点介绍一下find的应用,作为一个sa如果不会用find 你会感到你的工作是多么的无力乏味,天空也为之暗淡--哈哈有点夸张了--BEGIN:

说明蓝色=命令名称

      浅绿=命令参数

      浅蓝=选项

      紫色=目录

      系统环境:CentOS  6.2  i686

 

-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前 
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 找文件,-n指n天以内,+n指n天以前 
-type
     查找某一类型的文件,诸如:
     b - 块设备文件。
     d - 目录。
     c - 字符设备文件。
     p - 管道文件。
     l - 符号链接文件。
     f - 普通文件。


-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录

常用参数:

-print 将查找到的文件输出到标准输出
-exec command {} \; -----将查到的文件执行command操作,{} 和 \;之间有空格
-ok -exec相同,只不过在操作前要询用户(rm -rf 等危险命令时最好用ok)

实例:

1、查找 /etc 下以 .local 结尾的文件:find /etc -name "*.local" -print

 

2、查找 /tmp 下包含 te 的所有目录:find /tmp -type d -name "te*"

3、查找 /tmp 下权限为777的文件或目录:find /tmp -perm 777

4、查找 /tmp 下所有文件长度为0的普通文件:find /tmp -size 0 -type f

5、查找 /tmp 下一天前更改的文件:find /tmp -mtime +1

6、查找 /tmp 下用户名为mysql的文件:find /tmp -user mysql

7、find-exec的应用,查找 /tmp 名字包te大小为0的文件并删除:find /tmp -name "*te*" -size 0 -exec rm -rf {} \;

补充:此文中只介绍了find的简单应用,find的不同选项参数配合使用,会大大提高你的工作效率。find不会只局限于本文中的这点应用,充分发挥你的智商,多用多练,你一定会“爱”上他它。

《linux查找搜索命令》 系列到此结束,欢迎大家指出文章中的漏洞和不足。

                                                                                                         by:秦汉唐宋元

                                                                                                  qq交流群:31013074

命令:find

语法:locate  [ 目录]  选项 参数

常用选项:

你可能感兴趣的:(linux,职场,休闲,linux查找搜索命令,find命令详解)