关于java:linux常用命令grep之各种搜索

36次阅读

共计 1170 个字符,预计需要花费 3 分钟才能阅读完成。

按过程名字搜过程

如何应用?

// 查问过程
ps -ef | grep tomcat

阐明一下,ps(process status) 是查看过程的意思。

grep,是搜寻的意思。

而后,次要是联合了管道 |,即把后面一个命令的输入,作为前面一个命令的输出。


这里再重点讲一下,参数 -ef。

因为如果不晓得参数是什么意思,就很难记住。平时更多的可能是齐全靠死记硬背,然而如果晓得是什么意思,那么就不必刻意记忆了。

那 -ef,到底指什么呢?不加行不行?不行。

e 的作用和 A 一样,A 的作用是显示过程所有信息,A 一看就晓得是 all 的意思,所以基本不须要刻意记忆。

那为什么要带上 A 呢?因为 ps 命令默认显示的字段没有那么多,而后你 grep 的时候可能就找不到对应的过程了——所以,必须加 -A。最好用 -A,因为不须要记忆。

那 f 呢?不是都曾经显示所有信息了吗?为什么还要加 f 呢?

很显著,因为 - A 尽管是 all,然而其实并没有显示所有的字段,而如果加了 f,就能够显示更多的字段,比方父过程 id 等——所以 f(full) 才是显示真正的残缺的信息。

官网解释如下:

搜日志里的关键字

这个在生产环境用的最多,因为常常要按关键字搜寻日志,查看问题。

怎么做?

grep 关键字 info.log

下面的是搜寻单个文件,上面的是搜寻多个文件。

grep 关键字 info.log error.log

显示的后果是,所有匹配到的行。

如果想要查看匹配行的前后行,怎么做?加参数 -C 数字。

grep -C 5 gzh test.txt

示意,除了显示匹配行,并且还要显示匹配行的下面 5 行和上面 5 行。

搜编辑文件里的内容

怎么搜?

  1. vi test.txt
  2. 输出:/ 关键字。

而后按回车,就会匹配到第一个,并且高亮显示。

  1. 怎么匹配下一个或者上一个?

匹配下一个按 n。

匹配上一个按 N(即 shift + n)。

搜屏幕里的内容

怎么搜?

间接 ctrl + f,可能不同操作系统快捷键略微有点不一样。

搜完之后,关键字会高亮。

搜寻历史命令

如何应用?

// 搜寻历史命令
history | grep gzh

history 命令,是显示所有历史命令。然而历史命令如果太多了,而后你又不记得你输出过的历史命令了,怎么办?按关键字搜寻,搜寻的内容是历史命令的残缺输出,而不仅仅是历史命令自身。

搜寻的目标是,如果一个命令太长,省的本人敲半天。

// 搜寻后果
```
gongzhihaodeMacBook-Pro:~ gongzhihao$ history | grep gzh
   51  grep gongzhihao jmeter.log
   56  cd gzh
   61  cd gzh
   77  locate gzh
   82  cd gzh
  117  grep gzh test2.txt
  126  history | grep gzh
gongzhihaodeMacBook-Pro:~ gongzhihao$
```

本文由博客一文多发平台 OpenWrite 公布!

正文完
 0