TMUX天下第一

全世界所有用CLI Linux的人都应该用TMUX,我爱它!

======================== 以下是正文 ========================

Linux下面常用的搜索命令有这些:find locate grep which whereis。其中在我用的SuSE上,并没有locate,所以也不能用它神奇的手动更新数据库和"高速"索引查找,而grep是文字查找命令(但是配合某些命令共同执行有奇效)。下面我们来看一看他们都是干嘛的

上面四个窗格对应了四个不同的查找命令

grep:

grep命令用于在文本文件中查找字符串,可以理解为不用打开文件就能找到文件里有没有某些内容。由于linux一切皆文件的特性,在输入某些带有返回值的命令(比如你用ls的时候他就返回给你很多内容,这个内容就是返回值)时,可以通过管道(就是上面命令里面的‘|’)把前一个命令的输出作为后一个命令的输入,于是乎grep就可以帮你“查找文件”了

用的时候:

<command a> | grep [-P] '[Regular Expression]'  其中-P调用perl进行高级正则表达式调用,正则表达式外的单引号不可以缺少

which:

which命令相对比较专一,所以也就比较菜。他只查找在环境变量里面的可执行文件(Linux Man Page里面讲它是用来搜索“Program”也就是“程序”的)。Linux不像Windows,它的环境变量真的长得像环境变量,查看则是输入“echo $PATH”,所以只有放在各种bin目录,并且这个bin目录被添加进path里面的程序才能被which命令找到。

注意,这个命令并不支持正则表达式,也不支持通配符*或是?,也就是说你得知道你要找的程序的全名

find:

这个命令是linux通用搜索命令,他会直接检索整个磁盘来找你输入的东西,支持的参数超过二十个,非常非常强大的同时,也非常非常慢,海峡对岸某些朋友称这个命令“操硬碟”。在此处我不打算讨论它,毕竟如上图所示我都完成剩下三个命令的实例加上截图操作,他都没有运行完……

whereis:

个人感觉比较鸡肋的一个命令……希望有识之士告诉小弟这个命令的独到之处。

如图所示他只能查找二进制bin、源代码src和帮助man这几个目录下面的东东,具体他检索那些目录,请使用whereis * 来查询

FIND 命令踩坑合集:

2019.03.25 update:

-name可以用通配符*,要使用正则表达式请使用-regex

——某些网站的教程是有Bug的,他们把所有的参数都标成了<范本样式>然而……大部分的“范本样式”不可以使用正则

2019.03.28 update:

-regex匹配的是全路径,也就是说针对一个存放在/a/b/c/路径下面的文件dashboard.sh,针对它的文件名写find,如果用regex,写法是:

√:find / -regex ".*/dashboard.*"

×:find / -regex "dashboard.*"  #实质上在找根目录下的dashboard

你也可以写成:

√:find / -name "dashbo*.sh"  #适用于你真的记不起来全名了

2019.04.02 update:

虽然shell或是bash中允许你把 find / -name "dashbo*.sh"  写成 find / -name dashbo*.sh ,但是这样查找结果会不准确。原因是对于通配符,shell会将他展开。

参见:https://segmentfault.com/q/1010000003090158 此链接中 kemad 大神的解释。

其原理和:https://www.cnblogs.com/jackablack/p/10637181.html 中第一个坑的原理相同。

以上就是我的一些拙见,说实话find真的……学了用了快一个月还没搞明白具体如何运作的……惭愧

学明白了在把一些想法放上来吧!可怜的硬碟,要被 /usr/bin/find 艹啦!

[2019.03.25]Linux中的查找的更多相关文章

  1. [转帖]Linux教程(14)- Linux中的查找和替换

    Linux教程(14)- Linux中的查找和替换 2018-08-22 07:03:58 钱婷婷 阅读数 46更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  2. 25 Linux中的信号

    Linux中的信号 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件).每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD.SIGINT等,它们在系统头文件中定义,也可以通 ...

  3. linux中的查找命令

    which命令:使用which命令可以看到某个系统命令是否存在,以及执行的到底是哪一个位置上的命令.在PATH指定的路径中进行搜索, 返回第一个搜索结果. which grep /bin/grep   ...

  4. Linux中的查找命令find

    原文:http://blog.csdn.net/windone0109/article/details/2817792 查找目录:find /(查找范围) -name '查找关键字' -type d ...

  5. linux中的查找命令find,locate,which,whereis

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了.  which       查看可执行文 ...

  6. linux中快速查找文件

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...

  7. Linux中文件查找,压缩和打包指令

    1.文件的查找和搜索 可执行文件的搜索:which .whereis locate搜索文件 find搜索文件       1.1可执行文件的搜索       在Linux系统中,有成百上千个指令,不同 ...

  8. [2019.03.22] Linux 学习心得(1)

    本文关键词:shell 判断.grep正则表达式使用和贪婪匹配理解 1. if [ $a -le $b ], 一开始自学的时候我以为 [ ... ] 就是普通的,语法规定的结构,结果其实人家是&quo ...

  9. 2019.03.25 git

    Git简介: Git是一个分布式版本控制软件. 背景故事: Linus在1991年创建了开源的Linux. 在2002年以前:世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后Linu ...

随机推荐

  1. JVM(六)为什么新生代有两个Survivor分区?

    本文会使用排除法的手段,来讲解新生代的区域划分,从而让读者能够更清晰的理解分代回收器的原理,在开始之前我们先来整体认识一下分代收集器. 分代收集器会把内存空间分为:老生代和新生代两个区域,而新生代又会 ...

  2. IIS安装以及发布

    控制面板-所有控制面板项-程序和功能-打开或关闭windows功能-Internet 信息服务,里面全部打钩点击确实.安装完成.     控制面板-管理工具-Internet 信息服务管理器-双击打开 ...

  3. MVC 中的@Html.Raw 的用法

    @Html.Raw 定义:在有些情况下,需要显式地渲染一些不应该采用HTML编码的值,这时可以采用Html.Raw方法来保证该值不被编码:简单来说:就是使用了Html.Raw后,字符串会以一个html ...

  4. .net面向对象设计原则

    稳定的框架来源于好的设计,好的设计才能出好的作品,掌握面向对象基本原则才会使我们的设计灵活.合理.不僵化,今天就来谈一谈我们.net 面向对象设计的基本原则. 对于一个没有任何设计经验的开发者来说,如 ...

  5. ArcGIS API for JavaScript 与 npm 之例子运行

    下载官方的demo,4.7的,在终端里跑了一下,测试成功(未打包) 在测试中精简掉了不需要的文件,使用http协议跑的(file协议不行哦) 最简单的目录如下: 我把以上文件放到一个叫demo的文件夹 ...

  6. 理清PHP在Linxu下执行时的文件权限

    首先推荐一个linux权限的视频:Linux权限管理之基本权限,讲的非常好,看完后就基本明白了. 一.文件权限及所属 1.文件有三种类型的权限,为了方便期间,可以用数字来代替,这样可以通过数字的加减, ...

  7. DVWA 黑客攻防演练(十一) 存储型 XSS 攻击 Stored Cross Site Scripting

    上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码 ...

  8. rabbitmq之简述HAProxy配置集群过程

    简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的.借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案.HA ...

  9. 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总

    Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...

  10. numpy 基础操作

    Numpy 基础操作¶ 以numpy的基本数据例子来学习numpy基本数据处理方法 主要内容有: 创建数组 数组维度转换 数据选区和切片 数组数据计算 随机数 数据合并 数据统计计算 In [1]: ...