美文网首页
文件查找locate,find

文件查找locate,find

作者: ckhzw | 来源:发表于2017-03-03 21:39 被阅读0次

文件查找:在文件系统上查找符合条件的文件

1.locate

查找事先构建好的索引库(/var/lib/mlocate/mlocate.db);索引库:系统自动实现(计划任务)或手动更新数据库 #updatedb

工作特性:查找速度快;模糊呀查找;非实时查找;

locate [option]...PATTREN
-b 只匹配basename
-c 统计匹配到的行数
-i 忽略字符大小写

2.find

实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找;
*工作特性*:查找速度略慢;精确查找;实时查找;

find [查找起始路径] [查找条件] [处理动作]
查找起始路径:默认为当前目录
查找条件:指定的查找标准,可根据文件名,大小,权限...;默认为指定起始路径下的所有文件;
处理动作:对符合条件的文件作出的操作;例如:删除...;默认为输出至屏幕

查找条件
1.根据文件名:
-name|iname "PATTERN";此处的PATTERN指glob风格的通配(*,?,[].[^])

2.根据从属关系:-user USERNAME;-group GROUPNAME

3.根据uid,gid号:-uid UID号;-gid GID号;

4.查找没有属主,属组的文件:-nouser |-nogroup

(文件的属主被删除后,文件属主,属组位置表现为原用户的uid,gid号;-nouser|-nogroup查找的就是此类文件)

5.根据文件类型:-type f|d|l|b|c|p|s

6.根据文件大小:-size [+|-]#单位

单位(#-1,#]    ##单位:k,M,G默认是字节
-#单位:[0,#-1]  例:-5k 表示小于5k
+#单位:(#,oo)例:+5k 表示大于5k

7.根据时间戳查找

以"天"为单位:
-atime [+|-]#
-mtime [+|-]#
-ctime [+|-]#
+#:(oo,#]    例:+3表示3天前
-#:(#,0)       例:-3表示3天内
以"分钟"为单位
-amin [+|-]#
-tmin [+|-]#
-cmin [+|-]#

8.根据权限查找:-perm [/|-]mode
mode 精确匹配权限
/mode 属主属组其他人的9位权限中任何一位权限满足即满足
-mode 属主属组其他人的9位权限中的每一位同时符合条件

/222 至少有一类用户有写权限
/001其他人有执行权限
-001其他人有执行权限
-222所有用户都有写权限
/022属组或其他人有写权限
-022属组和其他人都有写权限

9.限制查找目录的层级数
-maxdepth # 最大深度为#;1表示当前目录
-mindepth # 从第#层开始查找
find / -mindepth 2 -maxdepth 2 仅查找根目录下的二级子目录

10.根据节点编号查找:
-inum 节点编号

11.查找节点编号相同的文件:
·-samefile FILE

12.查找链接数为n的文件
-links n

13.查找/etc目录下除了sane.d目录下所有.conf后缀的文件(-path "/PATH" -a -prune)

find /etc -path "/etc/sane.d" -a -prune -o -name "*.conf"  -ls
find /etc \(  -path "/etc/sena.d" -o -path "/etc/modprobe.d"   \)  -a -prune -o -name "*.conf" 
###查找etc目录下除了sane.d或modprobe.d目录下所有.conf后缀的文件

14.组合测试条件
-a 同时满足;默认组合逻辑
-o 符合一个条件即可 ###注意:-o时,使用ls列所有符合条件的文件,需要用小括号括起来(否则仅显示ls前一个-o匹配到的文件),且小括号需要转义
! |-not 取反
德摩根定律:非A且非B=非(A -o B) 非A或非B=非(A -a B)

处理动作

-ls 相当于ls -l,显示文件的详细信息;
-delete 删除
-fls /PATH/TO/SOMEFILE 将查找到文件的详细信息保存至指定的文件中;
-ok COMMAND {} \; 对查找到的文件执行由COMMAND表示的命令,需用户确认操作;
-exec COMMAND { } \;对查找到的文件执行由COMMAND表示的命令,无需用户确认;

相关文章

  • 文件查找及压缩工具

    文件查找 locate,模糊查找,非实时查找(数据库查找)find:实时查找 locate 查询系统上预建的文件索...

  • find命令详解

    文件查找 在文件系统上查找符合条件的文件; 实现工具: find,locate 1.find: 实时查找工具:通...

  • note_7.4_文件查找命令

    文件查找 在文件系统上查找符合条件的文件 实现工具:locate,find locate:   依赖于事先构建好的...

  • Linux 文件查找基础命令分享 - 草稿

    文件查找: find which locate find: 语法 find 路径 命令 表达式 动作 1.按...

  • 2017-07-29 文件查找和压缩

    (1)文件查找作用:在文件系统上查找符合条件的文件 文件查找:locate, find 非实时查找(数据库查找)...

  • mlocate.db文件文件过大

    locate(locate) 命令用来查找文件或目录。 locate命令要比find -name快得多,原因在于它...

  • linux locate命令

    locate(locate) 命令用来查找文件或目录。 locate命令要比find -name快得多,原因在于它...

  • Linux运维之道(10)——Linux查找find命令全面剖析

    @(linux)[find] 1. 文件查找 在文件系统上查找符合条件的文件 1.1 简述locate 非实时查找...

  • 文件查找locate,find

    文件查找:在文件系统上查找符合条件的文件 1.locate 查找事先构建好的索引库(/var/lib/mlocat...

  • Linux常用命令

    查找文件 locate whereis which find 文件操作 文件赋权限 文件重命名 删除文件 目录操作...

网友评论

      本文标题:文件查找locate,find

      本文链接:https://www.haomeiwen.com/subject/zvbrgttx.html