Linux常用命令之文件搜索命令

目录

1、find搜索命令

2、locate搜索命令

3、whereis搜索命令


1、find搜索命令

find命令是我们在Linux系统中用来进行文件搜索用的最多的命令,功能特别强大。但是我们要说的是尽量少用find命令去执行搜索任务,就算要搜索我们也应该尽量的缩小范围,也不要在服务器使用高峰期进行文件搜索,因为搜索也是很占系统资源的。这就需要我们在进行Linux文件整理的时候,尽量规范化,什么文件放在什么目录下都要有比较好的约定。

find命令几种最常用的用法

        a、命令名称:find

  b、英文原意:

  c、命令所在路径:/bin/find

  d、执行权限:所有用户

  e、功能描述:进行各种花式文件搜索

  f、语法:find【搜索范围】【匹配条件】  

【1】、根据 文件或目录名称 搜索
find 【搜索目录】【-name或者-iname】【搜索字符】:-name和-iname的区别一个区分大小写,一个不区分大小写

  1、find /etc -name init   (精准搜索,名字必须为 init 才能搜索的到)

  2、find /etc -iname init   (精准搜索,名字必须为 init或者有字母大写也能搜索的到)

  3、find /etc -name *init  (模糊搜索,以 init 结尾的文件或目录名) 

  4、find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___)

        eg:find / -iname lxj-test-0.0.1-SNAPSHOT.jar(搜索jar包位置)

【2】、根据 文件大小 搜索
  比如:在根目录下查找大于 100M 的文件

          find / -size +204800

          这里 +n 表示大于,-n 表示小于,n 表示等于

          1 数据块 == 512 字节 ==0.5KB,也就是1KB等于2数据块

          100MB == 102400KB==204800数据块

【3】、根据 所有者和所属组 搜索

  1、在home目录下查询所属组为 root 的文件

    find /home -group root

  2、在home目录下查询所有者为 root 的文件

    find /home -user root

【4】、根据 时间属性 搜索
  find 【路径】【选项】【时间】

   选项有下面三种:-amin  访问时间

           -cmin   文件属性被更改

           -mmin  文件内容被修改

  时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟

  范例:在 /etc 目录下查找5 分钟内被修改过属性的文件和目录

     find /etc -cmin -5

【5】、根据 文件类型或i节点 搜索
  -type 根据文件类型查找:f表示文件,d表示目录,l表示软链接

  范例:查找 /usr 目录下文件类型是目录的   find /usr -type l

  -inum 根据i节点查找

  范例:查找 /tmp 目录下i节点为400342的文件或目录  find /tmp -inum 400342

【6】、组合条件 搜索  
  这里有两个参数:

  1、-a  表示两个条件同时满足(and)

  2、-o  表示两个条件满足任意一个即可(or)

  范例:查找/etc目录下大于80MB同时小于100MB的文件

  find /etc -size +163840 -a -size -204800

2、locate搜索命令

        命令格式:locate [OPTION]... PATTERN...

        选项说明:

        

-A, --all
	只显示匹配所有模式的条目
-b, --basename
	只匹配文件的基本名。作用与选项 --wholename 相反
-c, --count
	只输出符合匹配模式的文件的数量
-d, --database DBPATH
	将默认数据库替换为 DBPATH。该选项可出现多次
-e, --existing
	只打印当前存在的文件
-L, --follow
	当检查文件是否存在时(如果选项 --existing 指定时),检查符号链接的目标文件(默认,相反的选项是 --nofollow)
-h, --help
	显示帮助信息并退出
-i, --ignore-case
	比较时忽略大小写
-l, --limit, -n LIMIT
	限制成功匹配的文件数为 LIMIT
-P, --nofollow, -H
	当检查文件是否存在时(如果选项 --existing 指定时),不检查符号链接的目标文件。作用与 --follow 相反
-0, --null
	在输出时使用 ASCII NUL 字符分隔条目,而不是将每个条目写在单独的行上。此选项是为了与 GNU xargs(1)的 --null 选项配合使用而设计的
-S, --statistics
	不搜索文件,而是显示每个数据库的统计信息
-q, --quiet
	不报告关于读取和处理数据库时遇到的错误的消息
-r, --regexp REGEXP
	使用正则表达式 REGEXP 进行搜索。该选项可出现多次
--regex
	将所有模式解释为扩展的正则表达式
-V, --version
	输出 locate 的版本和许可信息并退出
-w, --wholename
	仅将整个路径名与指定的模式匹配(默认)。如果只匹配文件基本名,可使用选项 --basename

        范例:

                1、查找文件名为 NAME 的文件。

                        locate -b '\NAME'
                2、查找配置文件 mlocate.db。

                        locate mlocate.db

3、whereis搜索命令

        命令格式:whereis [OPTIONS] [-BMS DIRECTORY... -f] NAME...

        选项说明

        

-b
	只搜索二进制文件
-m
	只搜索 man 手册
-s
	只搜索源代码
-u
	只展示有相关特殊文件(二进制程序、源代码文件、man 手册)的命令名称
-B LIST
	指定二进制文件查找目录,使用空格分隔
-M LIST
	指定 man 手册查找目录,使用空格分隔
-S LIST
	指定源代码文件查找目录,使用空格分隔
-f
	在使用 -S 、–M、-B 选项时,必须使用这个选项,用于表示目录的结束,命令名的开始
-l
	输出正在使用的有效查找路径

        范例:

        查看命令 which 的二进制文件与帮助手册的路径。

whereis which
which: /usr/bin/which /usr/share/man/man1/which.1.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值