您的位置:首页 > 运维架构 > Linux

linux文件查找命令使用总结

2014-11-24 17:06 295 查看
linux文件查找命令locate和find
1.locate

查找是根据全系统文件数据库的进行,查找速度快,只能对文件模糊查找
#updatedb 手动生成文件数据库
-i:查找文件不区分大小写
-n #:显示查找结果的前#行

2.find
使用格式:find [查找路径] [查找规则] [查找完后执行的操作]
查找路径:默认为当前目录,可以指定多个目录,多个之间用空格
查找完后执行的操作:显示到标准输出,默认为print
-print:默认情况下的动作
-ls:查找到后用ls 显示出来
-ok [commend]:查找后执行命令的时候询问用户是否要执行
使用格式:-ok COMMAND \;

-exec [commend]:查找后执行命令的时候不询问用户,直接执行
使用格式:-exec COMMAND \;
| xargs:来对查找到的文件进一步操作,
使用格式:| xargs COMMAND {}
查找规则如下:
(1)根据文件名
-name:根据文件名精确查找,文件名支持通配符(globe)
-iname:根据文件名查找,忽略大小写
(2)根据文件属主、属组
-user:根据属主查找
-group:根据属组查找
-uid:根据UID查找
-gid:根据GID查找
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
(3)根据文件类型
-type f:普通文件
d:目录
b:块设备
c:字符设备
l:符合链接文件
p:命令管道文件
s:套接字文件
(4)根据文件大小
-size #[k|M|G]:#数字,匹配的时候为模糊匹配#[k|M|G]
+#[k|M|G]:匹配的结果大于#[k|M|G]
-#[k|M|G]:匹配的结果小于#[k|M|G]
(5)根据文件时间戳的相关属性
命令stat可以查看文件的时间属性

-atime [+|-]#:访问时间,默认为天,#表示#天的这个时间点,+#表示至少有#天没访问 , -#表示#天之内没访问
-mtime [+|-]#:修改时间,#表示#天的这个时间点没有被修改,+#表示至少有#天没有修改 , -#表示#天之内没有修改
-ctime [+|-]#:改变时间,#表示#天的这个时间点没有被改变,+#表示至少有#天没有被改变 , -#表示#天之内没有被改变
-amin [+|-]#:时间为分钟,#表示#分钟的这个时间点没有被访问,+#表示至少有#分钟没有被访问 , -#表示#分钟之内没访问
-mmin [+|-]#:时间为分钟,#表示#分钟的这个时间点没有被修改,+#表示至少有#分钟没有被修改 , -#表示#分钟之内没有被修改
-cmin [+|-]#:时间为分钟,#表示#分钟的这个时间点没有被改变,+#表示至少有#分钟没有被改变 , -#表示#分钟之内没有被改变
(6)根据文件权限
-perm [+|-] MODE:不带[+|-]表示精确权限匹配,+表示任何一类用户的任何一位权限匹配,- 表示每类用户的每位权限都匹配
(7)组合条件查询
-a:与,连接两个条件,两个条件必须同时满足
-o:或,连接两个条件,两个条件满足其一即可
-not: 非,对条件取反
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: