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"

  • 相关阅读:
    设计模式之构造模式
    设计模式之创建模式
    用mongodb 固定集合实现只保留固定数量的记录,自动淘汰老旧数据
    多线程何如获取返回值
    基于redis的消息订阅与发布
    multiple类型的select option在django后台如何取值
    使用redis分布式锁解决并发线程资源共享问题
    数据库架构
    MongoDB数据库设计中6条重要的经验法则
    【mysql】开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
  • 原文地址:https://www.cnblogs.com/sddai/p/9441959.html
Copyright © 2011-2022 走看看