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"

  • 相关阅读:
    java类加载全过程
    pyAggr3g470r 3.6 发布,新闻聚合器
    fourinone分布式协调设计解析
    修改openJDK7的javac,使得java支持单引号字符串
    SabreDAV 1.8.0 发布,集成 WebDAV 系统
    openSUSE 12.3 里程碑 1 发布
    GroupOffice 4.0.123 发布
    nagios总结与基本配置模板
    Zorin OS 6.1 发布,基于Ubuntu的Linux
    Ehcache 2.6.2 发布,Java 缓存框架
  • 原文地址:https://www.cnblogs.com/sddai/p/9441959.html
Copyright © 2011-2022 走看看