文件查找命令


查找命令:local,find

local:非实时查找,通过系统数据库进行搜索,无法查找到在系统数据库更新后创建的文件,但是查找速度快,模糊查找(不仅会查找到文件名还会找到文件全路径)

find:在硬盘上进行实时搜索,速度较慢,但是可以找到当前所有的数据

系统数据库在   /var/lib/mlocate/mlocate.db

系统一般会定时更新数据库,通过updatedb可以手动更新数据库

locate:

-i:区分大小写

-r:支持正则表达式

-n#:只查找前#个

find [选项][路径][条件][处理动作](在写路径时目录后要加/)

条件:

-name#:查找名称为#的文件(支持正则表达式)

-inum#:查找inode为#的文件

-samefile#:查找与#节点号相同的文件

-links#:查找链接数为#的文件

-regex#:查找以#匹配的整个文件路径的字符串而不只是文件

-user#:查找属主为#的文件

-group#:查找属组为#的文件

-uid#:查找uid#的文件

-gid#:查找gid#的文件

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

-nogroup#:查找没有的文件

-type:   f:普通文件  d:目录  l:链接文件  s:套接字文件  c:字符设备文件  b:块设备文件  p:管道文件

与:-a   或:-o  非:-not !

德摩根定律:

非(P且Q)=(非P)或(非Q)

非(P或Q)=(非P)且(非Q)

命令中包含*一般要加“”

-size(#、+#、-#):根据文件大小查找

#:(#-1,#]

-#:[0,#-1]

+#(#,正无穷)

-atime(#、+#、-#):根据文件访问查找(以天为单位)

#:[#,#+1)

-#:[0,#]

+#[#+1,正无穷)

-mtime(#、+#、-#):根据文件修改查找

-ctime(#、+#、-#):根据文件元数据修改时间查找

-amin,-mmin,-cmin:以分钟为单位

-perm(#、/#、-#):根据权限查找

#:精确匹配权限

/#:再给出的非空权限为上,至少有一位能匹配上,0表示不关注

-#:给出的非空权限位必须全部匹配上,0表示不关注

处理动作

-print:打印

-ls:显示文件详细信息(有些情况下加-ls会造成查找结果异常)

-delete:删除文件

-fls #:把找到文件信息保存到#

-ok 命令 {} \;:对找到的文件执行命令(执行前进行交互式询问)

例子:-ok cp{} {}.bak \;

{}代表找到的文件名称,{}与\之间要有空格,\与;之间不能有空格,命令不支持别名

-exec与ok用法相同只是执行命令前不询问

有些命令不能接受过多参数,此时命令执行可能会失败,采用下面方式可规避此问题  find | xargs COMMAND

原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/36234

赞 (0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-16 13:59
下一篇 2016-08-16 13:59

相关推荐

  • 【译文】如何正确设定MySQL程序的选项

    MySQL手册文档版本:5.6  章节:4.2 Using MySQL Programs  略去了部分windows下使用mysql的相关的说明 译者:古二娃 时间:2015-03-15 章节目录: 4.2 Using MySQL Programs 4.2.1 Invoking MySQL Programs …

    Linux干货 2015-03-10
  • 文件搜索之find的使用

    一.find介绍:   find是Linxu中一个十分常用的文件查找工具,其工作原理是通过遍历启起始路径下文件层级结构完成的,其特点是查找速度慢,能做到实时查找和精确查找。 二.使用方法: find  start_path search_conditions  action 1.statr_path:所要查找的文件的起始位置,默…

    Linux干货 2016-11-01
  • 730作业

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 [root@local ~]# cat /etc/issue |tr "[[:lower:]]" "[[:upper:]]" > /tmp/i…

    Linux干货 2016-08-02
  • 第二周

    3、(1)、  :  ~]# mkdir -p /tmp/{a_c,a_d,b_c,b_d}                  or     ~]# …

    Linux干货 2016-08-22
  • JoSQL内存数据库远程代码执行漏洞(含EXP)

    JoSQL全称SQL for Java Objects,提供了应用SQL语句的Java对象的集合的能力开发,JoSQL提供了搜索,排序,group等对Java对象的集合进行类似SQL的查询应该应用的功能。 例如,查找所有在2004年内修改过的html文件: SELECT * FROM   java.io.File WH…

    Linux干货 2015-03-06
  • 网络配置、nmcli

    CentOS 7 网络属性配置    rhel6 之前,网络接口使用连续号码命名:eth0 、eth1 等, 当增加或删除网卡时,名称可能会 发生变化    rhel7 使用基于硬件,设备拓扑和设置类型 命名:    (1) 网卡命名机制    &n…

    Linux干货 2016-09-23

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-19 09:25

    对find命令的常见用法总结的很好,可以有一些示例,让自己的文章看起来更丰满一些,find在面试题中经常会出现,所以希望下来自己能好好的联系,熟练掌握。