zoukankan      html  css  js  c++  java
  • Ubuntu 查找文件的方法

    1. whereis+文件名

    用于程序名的搜索,搜索结果只限于二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),如果省略参数,则返回所有信息。

    2. find / -name +文件名

    find是在指定的目录下遍历查找,如果目录使用 / 则表示在所有目录下查找,find方式查找文件消耗资源比较大,速度也慢一点。

    3. locate+文件名

    linux会把系统内所有的文件都记录在一个数据库文件中,使用locate+文件名的方法会在linux系统维护的这个数据库中去查找目标,相比find命令去遍历磁盘查找的方式,效率会高很多,比较推荐使用这种方法。

    但有一个问题是数据库文件不是实时更新的,一般会每周更新一次,所以使用locate命令查找到的结果不一定是准确的。当然可以在使用locate之前通过 updatedb 命令更新一次数据库,保证结果的性。

    4. which+可执行文件名

    which的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

    使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

    which指令会在环境变量$PATH设置的目录里查找符合条件的文件,所以基本的功能是寻找可执行文件。


    Linux查找文件内容的常用命令方法。  

    从文件内容查找匹配指定字符串的行:

    $ grep "被查找的字符串" 文件名
    例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
    grep "thermcontact" */*.in

    从文件内容查找与正则表达式匹配的行:
    $ grep –e “正则表达式” 文件名

    查找时不区分大小写:
    $ grep –i "被查找的字符串" 文件名

    查找匹配的行数:
    $ grep -c "被查找的字符串" 文件名


    从文件内容查找不匹配指定字符串的行:
    $ grep –v "被查找的字符串" 文件名


    从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
    find / -type f -name "*.log" | xargs grep "ERROR"
    例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行
    find . -name "*.in" | xargs grep "thermcontact"

  • 相关阅读:
    postman 调试接口报“401 身份认证信息未提供”错误
    UserWarning: XXX is writable by group/others and vulnerable to attack when used with get_resource_filename.
    以root权限执行python时候脚本时候报错“ExtractionError: Can't extract file(s) to egg cache”
    django接口调试示例说明
    查看linux系统版本、内存、CPU、存储容量
    一次批量杀死多个进程
    bash:pybot未找到命令
    Swoft-Api项目部署九:前、后置中间件
    Swoft-Api项目部署八:主从数据库配置
    Swoft-Api项目部署七:验证器
  • 原文地址:https://www.cnblogs.com/sddai/p/9441959.html
Copyright © 2011-2022 走看看