文件查找命令


查找命令:localfind

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

德摩根定律:

非(PQ=(非P)或(非Q

非(PQ=(非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 \

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

-execok用法相同只是执行命令前不询问

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

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

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-16
下一篇 2016-08-16

相关推荐

  • Docker 实例

    1、Docker 安装 Nginx 方法一:通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西。 # mkdir -p nginx/www nginx/logs nginx/conf www目录将映射为nginx容器配置的虚拟目录 logs目录将映射为nginx容器的日志目录 conf目录里的配置文件将…

    2018-01-22
  • 网络配置之-nmcli

    使用nmcli配置网络 NetworkManager是管理和监控网络设置的守护进程,设备既就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效。 1 使用nmcli配置主机名 CentOS6 之前主机配置文件:/etc/sysconfig/network CentOS7主机名配置文件:/etc/hostname,默…

    Linux干货 2017-05-07
  • Linux系统

    1、计算机的组成及其功能 从基本结构上来讲,电脑可以分为五大部分:运算器、存储器、控制器、输入和输出设备。 运算器(Datapath):对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。 控制器(Control):整个计算机的中枢神经,对程序规定的控制信息进行解释,…

    Linux干货 2016-10-30
  • shell脚本练习

    习题1:打印99乘法表 #!/bin/bash # for ((j=1;j<=9;j++)) do for ((i=1;i<=j;i++)) do echo -e -n “${i}x${j}=$[${i}*${j}]\t” done echo done 习题2:写一个脚本(1)创建目录/tmp/dir-当前日期时间;例如/tmp/dir-2015…

    Linux干货 2017-05-22
  • N26-第三周作业-邢岩

    马哥门徒-N26-邢岩   “精深练习×一万小时=世界级技能”。髓鞘质是不可逆的,就让我们包裹一层厚厚的髓鞘质吧!今天继续我的练习。   第一题,列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可  ~]# who | cut -d' ' -f1 | sort -u &nbs…

    Linux干货 2017-02-14
  • 第十二周作业

    1、 请描述一次完整的http请求处理过程;  HTTP:超文本传输协议 完整的http请求过程 1)、建立TCP/IP连接:经过3次握手,建立连接或拒绝。 2)、浏览器向服务器发送HTTP请求。 3)、浏览器发送请求头信息。 4)、服务器应答:服务器接受请求后,会回送应答。 5)、服务器发送应答头信息。 6)、服务器向浏览器发送数据。 7)、服务…

    2017-05-17

评论列表(1条)

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

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