1. linux下面用于查到的命令有哪些?

是不是有很多呀,这个我还没做过统计和调查,不过这篇博客只介绍grep与find的最基本应用。

grep和find功能都是相当的强大,这里也只是介绍这两个命令的九牛一毛而已。

2. grep的简单小应用?

(1)如果在给定的文件中搜索某个字符串,直接grep “main” ./main.c即可;

(2)如果你要搜索某个特定的字符串,而不确定这个字符串可能会在哪个文件中出现,

那只能在某个大的目录下递归搜索:grep -r "main" ./;

(3)如果只指定-r来搜索,有时候可能会打印出很多无用的错误的信息,这会严重干扰你在

搜索结果中查找你想要的信息。所以我们要用grep -rs "main" ./,使用-s选项可以帮助我们

将这些因为文件不存在或者文件不可读而打印出来的错误信息统统去除掉;

(4)如果你想知道字符串所在的行号,那一定要指定-n选项:grep -nrs "main" ./;

(5)可是很多时候你按照上面指定的条件进行搜索,在搜索结果中可能仍然有很多不是你想要的。

比如你要搜索的字符串是"main",而要搜索结果中你可能会看到很多诸如"main_function",

"mainly"等等这些包含"main"的更长的字符串。此时我们就需要借助于-w这个命令选项来过滤。

grep -nrws "main" ./。

3. find的简单小应用?

目前我遇到的应用就是在整个系统成千上万的文件中去找某个特定的文件。

find ./ -name "libtest.so"

这样find命令就会在指定的path下递归查找某个特定的文件。

当然find的实际功能是非常非常大的,比如:

find ./ -perm 777

用来在当前path下递归查找所有权限为777的文件。

4. find与grep无敌组合?

如果你查找一个字符串要把整个系统的所有文件都过滤一遍,效率是不是太低了点?

我们可以用类似于如下的命令来提高效率:

find ./ -name "*.c" | xargs grep "main"

这样做的目的就是在指定path下先缩写范围到所有的.c文件,然后在.c文件中查找

特定的字符串。

以上纯属个人的一点小小心得之总结。如有雷同,纯属巧合。

linux查找文件或字符串的命令的更多相关文章

  1. linux 查找文件或者内容常用命令

    whereis <程序名称> find [路径] <表达式> locate <文件名称> 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符 ...

  2. linux 查找文件与进程常用命令

    Linux的五个查找命令 1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> ...

  3. [转] Linux 查找文件内容

    Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件g ...

  4. Linux查找含有特定字符串的文件

    Linux查找含有特定字符串的文件命令为grep.以下为详细的使用方法 grep [OPTIONS] PATTERN [FILE...] #实例:递归查找当前文件夹下所有含有test的文件,并显示行号 ...

  5. [转帖]Linux查找文件6个高效工具

    Linux查找文件6个高效工具 https://www.linuxrumen.com/rmxx/176.html 需要实操 -inname -type 等等. 1. 前言 我们使用Linux过程中,经 ...

  6. Linux查找含有某字符串的所有文件

    转自:http://151wqooo.blog.51cto.com/2610898/1162118 如果你想在当前目录下 查找"hello,world!"字符串,可以这样: gre ...

  7. Linux 查找文件命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  8. linux查找文件夹下的全部文件里是否含有某个字符串

    查找文件夹下的全部文件里是否含有某个字符串  find .|xargs grep -ri "IBM"  查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称  fin ...

  9. linux查找文件夹命令

    查找命令: 查找根目录下查找文件夹名称叫www.91cnm.com的目录地址 find / -name www.91cnm.com -d 1 查找/var/www/目录下叫index.php的文件 f ...

随机推荐

  1. POJ训练计划2299_Ultra-QuickSort(归并排序求逆序数)

    Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 39279   Accepted: 14163 ...

  2. C# - 线程操作

    代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...

  3. 一则 ORA-00471 处理方法

    公司新上架一台服务到机房,硬件是IBM X3850 X5,硬件配置算是好的,内存有128GB.SA安装好系统--(版本sule 32bit)后通知我可以安装数据库了.忙活半天,安装好oracle 92 ...

  4. 菜单组件——axure线框图部件库介绍

    软件类的教程,我写不出长篇大论,这里面的都是基础的操作,希望初学者,根据一个功能演示,可以自己测试其他功能菜单的效果! Axure自带的菜单组件,我几乎没有用到过,做菜单导航,我第一时间想到的还是矩形 ...

  5. C++中 auto自己主动变量,命名空间,using作用以及作用域

     1.autokeyword的用途 A:自己主动变量.能够自己主动获取类型,输出,类似泛型 B:自己主动变量,能够实现自己主动循环一维数组 C:自己主动循环的时候,相应的必须是常量 2.auto自 ...

  6. Swift - 多层无缝循环滚动背景(SpriteKit游戏开发)

    在游戏开发中,比如跑酷游戏.我们需要实现背景的无限循环滚动,来营造运动的效果.除了单层的背景滚动,还有视差滚动. 视差滚动是指让多层背景以不同的速度移动,形成立体的效果,从而带来非常出色的视觉体验. ...

  7. 解决android应用程序适用新老android系统版本方法

    老的android系统不能运行高版本系统的新方法,为了解决这个问题:  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ...

  8. J2EE SSH学习(二)安装Eclipse插件和第一个Eclipse项目

    (一)安装Eclipse插件 Eclipse有很多功能很强大的插件,我现在作为一个菜鸟只知道插件的功能通常都很牛叉实用或者很有趣,那么该怎么安装Eclipse插件呢? 我使用的是Eclipse 4.3 ...

  9. android 5.0新特性

    Android Lollipop 面向开发人员的主要功能 Material Design 设计 注重性能 通知 以大屏幕呈现 以文档为中心 连接性能再上一级 高性能图形 音频处理功能更强 摄像头和视频 ...

  10. centos 安装ganglia监控工具

    一个.ganglia基本介绍 ganglia它是一个分布式监控系统,那里有两个Daemon,每间:clientGangliaMonitoring Daemon (gmond)和服务端GangliaMe ...