首页>文档>adb shell>adb shell命令:find查找命令easyclick使用教程

adb shell命令:find查找命令easyclick使用教程

find命令的功能是根据给定的路径和条件查找相关文件或目录,可以使用的参数很多,并且支持正则表达式,结合管道符后能够实现更加复杂的功能,是系统管理员和普通用户日常工作必须掌握的命令之一。

find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate……等等的有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,会相对消耗较多的系统资源。

语法格式:find [路径] [参数]

常用参数

-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec …… {}\; 后面可跟用于进一步处理搜索结果的命令

参考实例

在/sdcard/Pictures/目录中搜索所有apk结尾的文件:

logd(shell.sudo("find /sdcard/Pictures/ -name *.apk"))

在/sdcard/Pictures/目录中搜索所有不是以apk结尾的文件:

logd(shell.sudo("find /sdcard/Pictures/ !-name *.apk"))

在/etc 目录中搜索所有属于指定用户的文件:

logd(shell.sudo("find /etc -user root"))

列出/sdcard/Pictures/目录中的所有文件、目录以及子文件信息:

logd(shell.sudo("find /sdcard/Pictures/"))

搜索/sdcard/Pictures/目录中的所有近7天被修改过的文件:

logd(shell.sudo("find /sdcard/Pictures/ -mtime +7"))

搜索/sdcard/Pictures/目录,且权限为777的目录文件:

logd(shell.sudo("find /sdcard/Pictures/ -type d -perm 777"))

搜索/sdcard/Pictures/中所有后缀为.mp4的文件,并删除所有查找到的文件:

logd(shell.sudo("find /sdcard/Pictures/ -name '*.mp4' -exec rm -rf {}"))
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索