美文网首页
Linux 常见搜索命令

Linux 常见搜索命令

作者: djz0306 | 来源:发表于2020-01-05 15:51 被阅读0次

    find

    find 用于搜索文件,基本语法为:

    find [搜索范围] [匹配条件]
    

    -name

    -name 即按照文件名搜索,例如:

    find /etc -name init
    

    与 Windows 不同的是,这是精准搜索,例如 init0 不会被搜索出来。如果需要匹配包括 init 的字符,则可以使用通配符,例如:

    find /etc -name *init*
    

    星号可以匹配任意字符,?可以匹配任意字符。

    -iname

    -name 会对文件进行精确匹配,包括大小写,如果需要忽略大小写则需要使用 -iname

    -size

    -size 用于按文件大小查找,单位是数据块,即 0.5K,例如要查找根目录下大于 100M 的文件,则使用

    find / -size +204800
    

    其中 + 表示大于,-表示小于,不写表示等于

    -user , -group

    -user 用于查找指定所有者的文件,例如:

    find /home -user zhangsan
    

    如果要查找指定组的文件,可以使用 -group

    -amin,-cmin,-mmin

    这三个命令用于按时间查找,-amin 对应访问时间,-cmin 对应文件属性,-mmin 对应文件内容,例如:

    find /home -mmin -5
    

    指在 home 目录下 5 分钟内被更改锅文件内容的文件,如果是超过 5 分钟则使用 +5

    -a 与 -o

    -a 表示 and ,用于表示两个条件同时满足,-o 表示 or,两个条件满足其中一个的文件

    -type

    -type 用于指定文件类型,f 表示文件,d 表示目录,l 表示软链接,例如:

    find /home type f
    

    用于查看 home 下的所有文件

    -exec/-ok 命令 {} ;

    -exec/-ok 命令 {} \;用于对搜索结果执行操作 -ok 与 -exec 的区别为 -ok 会询问是否确认

    -inum

    用于查看指定 inode 的文件。例如查找硬链接,可以指定 inode 以后在对应分区查找即可查到所有该文件的硬链接

    locate

    locate 是在文件资料库中查找,所以速度很快。基础语法为:

    locate 要查找的文件名
    

    在 /var/lib/mlocate/mlocate.db 中的文件信息会定期更新收录其中。但是由于不是实时更新的,所以查找最新的文件可能会找不到,如果要找到最新的文件可以使用 updatedb 更新最新文件信息。但是如果文件在 /tmp 目录下,也是查找不到的,因为这不属于其收录范围。locate 的资源消耗也要小很多。

    -i

    locate 查找也是严格区分大小写的,如果需要不区分大小写,也可以使用 -i,例如

    locate -i test
    

    which

    which 用于查找命令,搜索出命令所在目录以及别命信息,基本语法为:

    which 命令
    

    例如 which lswhich 除了可以查到命令所在的路径也可以查看是否具有别命,例如查找到 rm='rm -i'

    whereis

    whereis 和 which 比较像,也适用于搜索命令,但是可以提供命令帮助文档,基本语法为:

    whereis ls
    

    grep

    grep 很常用,用于在文件中搜索字符串匹配的行并输出,可以用 -i 不区分大小写,用 -v 排除指定字符串,基本语法如下:

    grep mysql /root/install.log
    

    相关文章

      网友评论

          本文标题:Linux 常见搜索命令

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