Linux学习13-文件查找

#文件查找和压缩
##一、在文件系统上查找符合条件的文件

###locate命令

查询系统上预建的文件索引数据库。
索引的构建是在系统较为空闲时自动进行(周期性任务),管理员手动更新数据库(updatedb),索引数据库路径/var/lib/mlovate/mlocate.db二进制文件,不要cat查看。

工作特点:

  1. 查找速度快,因为寻找的数据是由已建立的数据库/var/lib/molvate/提供,不用去硬盘当
    中存取数据
  1. 模糊查找
  2. 非实时查找
  3. 搜索文件的全路径,不仅仅是文件名
  4. 可能只搜索用户具备读取和执行权限的目录
	     格式:    locate  KEYWORD
	     选项: 
	          -i     不区分大小写的搜索
	          -n N   只列举前n个匹配项目
	          -r     使用正则表达式
		
		例:搜索名称或路径中带有conf的文件 
             locate –r  `\.conf$`

###find命令

  1. 工作特点:
  1. 查找速度略慢
  2. 精确查找
  3. 实时查找
  4. 可能只搜索用户具备读取和执行权限的目录
  1. 格式: find [option]…[查找路径][查找条件][处理动作]

查找路径:指定具体路径;默认为当前路径

查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找
出指定路径下的所有文件

按搜索层数查找:

    	-maxdepth level      最大搜索目录深度,指定目录为第1级
	    -mindepth level      最小搜索目录深度

     例:搜索/data/目录的第二层目录。需要最大深度和最小深度一起用
      [root@V9centos7 /data]#find /data -maxdepth 2  -mindepth 2
	    /data/txt1/txt2

根据文件名和iNode查找:

    -name “file”:      精确匹配,可以使用通配符
    -iname “file”:     忽略大小写
    -inum  n:          按inode号查找
    -samefile “file”:   查找相同的文件(indoe相同)
    -links  n:          链接数为n的文件
    -regex“PATTERN”:   以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称

    例1:查看.sh的文件
    [root@V9centos7 ~]#find -name  "*.sh"
    ./bin/newhello.sh
    ./bin/useradd.sh
    ./bin/systeminformation.sh
    ./bin/useradd2.sh
    ./bin/vreatescript.sh
    ./taxt.sh

    例2:查看链接数为5的文件
    [root@V9centos7 ~]#find -links 5
    ./.cache/gnome-software/3.22

    例3:利用正则表达式查.sh后缀的文件
    [root@V9centos7 ~]#find -regex ".*\.sh$"
    ./bin/newhello.sh
    ./bin/useradd.sh
    ./bin/systeminformation.sh
    ./bin/useradd2.sh
    ./bin/vreatescript.sh
    ./taxt.sh

根据属主、属组查找:

    -user USERNAME:查找属主为指定用户(UID)的文件
    -group GRPNAME:查找属组为指定用户(GID)的文件
    -uid UserID:   查找属主为指定的UID号的文件
    -gid GroupID:  查找属组为指定的GID号的文件
    -nouser:        查找没有属主的文件
    -nogroup:       查找没有属组的文件

    例1:查找文件所有者和所属组都是v9的文件
        find -user v9 -group v9
    例2:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值