Linux终端命令接口(五)查找与搜索

一、find  查找  指令将从指定目录下向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端。

find [搜索范围][选项]       eg:  find  /home -name "*.txt" 在home文件下查找名字为‘txt’的文件

-name   按照指定的文件名查找模式查找文件   eg:find /home -name hello.txt 根据名称查找/home 目录下的hello.txt文件

-user  查找属于指定文件名所有文件    eg:find /opt -user nobody   查找/opt目录下,用户名称为nobody的文件

-size  按照指定的文件大小查找文件      eg:find / -size +20M    find / -size -20M   find / -size 20M    查找整个linux系统下大于20M的文件(+n 大于、-n小于、 n等于)注意:M大写

二、locate  是find -name的另一种写法

locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

三、grep  搜索

-c   只输出匹配行数量,即文件中有几行含有搜索的关键字

-v   显示不包含匹配文件的所有行,

-n   同-c相反-n#列出所有的匹配行,并显示行号

-i   搜索时忽略大小写,使得搜索对大小写不敏感

-h    查询多文件时不显示文件名,不加的话,搜索结果前面多文件时会显示文件名

-l    只列出符合匹配的文件名,而不列出具体的匹配行,即只说哪些文件里面有关键词

-s  不显示不存在或无匹配文本的错误信息,默认如果多文本搜索时,若有文件没有关键词会输出信息的

-w   匹配整词,字符都被解释为字面意思,不会被解释为特殊含义,比如"*"

-x  匹配整行,同上

-r   递归搜索,不仅搜索当前工作目录,而且搜索子目录

-q    禁止输出任何结果,以推出状态表示搜索是否成功

-b   打印匹配行距文件头部偏移量,以字节为单位

-o#和-b选项结合使用,打印匹配的词距文件头部的偏移量,以字节为单位,加了这个以后就-E#支持扩展的正则表达式

-F  不支持正则表达式,按照字符串的字面意思进行匹配

 grep搜索的时候,可以是字符,也可以是变量,还可以是正则表达式。但是无论哪种模式,只要其中包含空格,就需要用双引号将模式引出来,因为如果不加上空格的话,空格后的单词容易被误认成为文件名 。

1、匹配行首"^"

grep ^-*.txt#匹配.txt文件中以“-”开头的行

grep -c ^$  *.txt#在txt文件中有多少空白行

grep -c ^[^$] *.txt#在txt文件中有多少非空白行,第二个“^”表示的是取反的意思

2、大小写问题

grep [Cc]ertificate *.txt    表达C不区分大小写,如果都不区分的话,可以用下面的指令

grep"certificate" *.txt

3、匹配未知的字"." "*"

grep ^/..../*.txt#匹配以“/”字符开始,中间四个任意字符后再跟“/”

grep ^-*B *.txt#匹配以“-”字符开始任意个“-”以后,紧跟B的意思

4、转义符""     

试想一种情况,就是我们要搜索bupt.edu.cn这个字符串,注意03中“.”是作为任意字符的,所以我们需要把它标记出来,使用的方法就是""。

​ 注意 :“-”也需要转移哟

grepbupt\.edu\.cn*.txt#搜索的是bupt.edu.cn

5、或“|”

grep -E"OU|seu"#匹配OU或者seu

这部分不加-E,则|理解为字面 ,OU|seu两侧的引号也是必不可少的

四、cat 、tac  查找        cat用于较少的文件展示   tac 倒序查询

-n    对所有输出行进行编号

-b   与-n相似,但空白行不编号

例:$ cat  file1 file2 file3        同时显示三个文件

       $cat –b file1 file2 file3

五、head   查找

eg: head -10 具体文件路径   会显示前10行'

六、tail  查找

eg: tail - 10 具体文件路径   会显示后10行

七、more  查找  从前向后展示

 -num:每页显示多少行内容

+num:从多少行开始显示

eg: more +2 -2 test.txt         从第2行开始,每页显示2行数据阅读test.txt文件

八、less   查找      从后向前展示   具体搜索高量显示 

•less的功能和more相似,但是使用more无法向前翻页,只能向后翻。

•less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。

•less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:•[root@redhat etc]# less passwd

•然后输入:/weblogic      再回车,此时如果有weblogic字符串,linux会把该字符已高亮方式显示。

搜索功能

/字符串 :向下搜寻『字符串』的功能;

 ?字符串 :向上搜寻『字符串』的功能;

 n :重复前一个搜寻 (与 / 或 ? 有关!)

 N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

 q :离开 less 这个程序;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,127评论 0 0
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,549评论 0 16
  • Linux指令大全 1.cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help...
    muyang_js的简书阅读 2,848评论 0 12
  • 基本命令-2 压缩和归档 打包: 即归档,类似于旅游之前收拾行李 压缩: 为了减少占用的磁盘空间,可以做备...
    崔千易阅读 972评论 0 0
  • 兔子真的是三瓣嘴,跟在小学儿歌里听到的一样, 只不过小时候把鼻子给归纳到“三瓣儿”里去了, 其实在下面不远处,才是...
    布布老师吕布凡阅读 444评论 0 1