码迷,mamicode.com
首页 > 其他好文 > 详细

find命令

时间:2016-03-10 22:00:37      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

find [OPTIONS] [查找起始路径] [查找条件] [处理动作]

根据文件名查找:
-name "pattern"    -iname "pattern"( 不区分大小写)   支持通配符 *, ?, [], [^]
技术分享
-regex pattern:基于正则表达式模式查找文件,匹配是整个路径,而非其名;

-user USERNAME:查找属主指定用户的所有文件; -group GRPNAME
-uid UID:查找属主指定的UID的所有文件;-gid GID
-nouser:查找没有属主的文件;-nogroup

技术分享

-type TYPE:f,d,l,b,c,p,s

技术分享
组合测试:
与:-a, 默认组合逻辑;   或:-o     非:-not, !
技术分享
练习:
1、找出/tmp目录下属主为非root的所有文件;

技术分享
2、找出/tmp目录下文件名中不包含fstab字符串的文件;

find /tmp/ -not -name "*fstab*"

-size [+|-]#UNIT   常用单位:k, M, G  (2k指的是1k到2k(1,2],+2k指的是大于2k,-2k指的是小于等于1k)技术分享

-atime [+|-]#   -mtime   -ctime  -amin   -mmin   -cmin  (用法与size相同) 


根据权限查找:
-perm [/|-]mode  mode:精确权限匹配。/mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;-mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足;

查找/etc目录下所有用户都没有写权限的文件;

技术分享
处理动作:
-print:标准输出;默认的动作;
-ls:类似于执行“ls -l”命令;
-delete:删除查找到的文件;
-fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;

技术分享
-ok COMMAND {} \; :对查找到的每个文件以交互的方式执行由COMMAND命令;
-exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;
技术分享
注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;
但是有些命令不能接受过长的参数,此时命令执行会失败;另一种方式可规避此问题:
find | xargs COMMAND


find命令

标签:

原文地址:http://www.cnblogs.com/wangmo/p/5263578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!