Linux文件查找命令及find详解

一、linux的文件查找工具

1、locate工具
2、find工具

二、locate命令

1、特点:
(1)依赖数据库(可以用update更新数据库,但费时长,现实企业环境最好不用)
(2)非实时查找,结果非精确
(3)查找速度快
(4)模糊查找

三、find命令

1、特点:
(1)实时查找,查找速度慢
(2)精确匹配

2、find命令格式:

# find [options] [查询路径] [查找条件] [处理动作]

(1)默认情况:
①查询路径:默认当前目录
②查找条件:默认为查找指定路径下的所有文件
③处理动作:默认为显示

(2)查找条件选项:
-name ‘FILENAME’:对文件名作精确匹配,文件名支持通配符匹配(globbing,{*,?,【】,【^】}),文件名有空格用“”括起。

-iname ‘FILENAME’:文件匹配时不区分大小写,同上支持globbing。

-regex PATTERN:基于正则表达式进行文件查找(文件名匹配)

-user USERNAME:根据文件属主查找

-group GROUPNAME:根据文件属组查找

-uid UID:根据文件的UID查找

-gid GID:根据文件的GID查找
上述两个选项的意义在于:如果用户或组被删除后,文件中包含的属主、属组的查找会被转换成对应的uid和gid查找

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

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

-type {f,d,c,b,l,p,s}:查找特定的文件类型
f:普通文件
d:目录
c:字符设备
b:块设备
l:符号链接文件
p:命名管道设备
s:套接字设备

-size [+|-] SIZE(大小)unit(单位):按文件大小查找
+表示大于,-表示小于
常用单位:
[+|-]#k
[+|-]#M
[+|-]#G

组合条件:
-a :与(and)
-o :或(or)
-not:非(not)

优先级:-not>-a>-o
非A或非B==非(A且B)
非A并非B==非(A或B)

⑬按时间戳查找:-{m,c,a}{time,min} [+|-]#

以天为单位:
-mtime #:表示过去第(#+1)天以后第#天以前的时间段被修改过的文件
-ctime #:表示过去第(#+1)天以后第#天以前的时间段被改变过的文件
-atime #:表示过去第(#+1)天以后第#天以前的时间段被访问过的文件

以分钟为单位:
-mmin #:表示过去第(#+1)分钟以后第#分钟以前的时间段被修改过的文件
-cmin #:表示过去第(#+1)分钟以后第#分钟以前的时间段被改变过的文件
-amin #:表示过去第(#+1)分钟以后第#分钟以前的时间段被访问过的文件

上述均支持[+|-]#
+表示:过去第(#+1)天(分钟)以前被访问过
-表示:现在到过去第#天(分钟)以内被访问过

⑭按文件权限位查找:-perm [+|-]MODE(精确匹配,MODE为3位八进制数

+MODE:9位权限位中任意一位匹配即满足条件(任何一类用户任何一维权限匹配即可)–>常用于查找某类用户的某特定权限是否存在

-MODE:文件权限能完全包含MODE时才满足(每类用户的任何一位权限为匹配才满足)–>常用于查找某类用户包含哪些权限

没有符号:精确匹配权限位置

(3)处理动作:(默认为-print)
①-print:打印在标准输出上
②-ls:以长格式输出各文件信息
③-exec COMMAND {} \;:对查找的文件执行指定的命令
④-ok COMMAND:交互式的-exec
⑤find | xargs COMMAND:与exec功能相似,但需要通过管道将标准输入转换为命令。
例:find /tm p/test/ -perm -666 | xargs ls -l {}
find /etc/ -size +1M | xargs echo {} >> /tmp/etc.largefiles

{}是文件占位符代替查找到的文件的名称

-exec的好处:
例:find /tmp/test -perm -666 -exec {} {}x \;
可用于对搜索到的文件名进行二次或以上的引用,而xargs只能引用一次。

xargs的好处
可以对搜索到的文件名逐个处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值