给安全工程师讲透Linux
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.5 利用grep命令进行过滤

在使用命令行的时候,你经常需要查找一个特定的关键字;对此,可以使用grep命令作为过滤器来查找关键字。

grep命令经常在一条命令的执行结果通过管道传输给另一条命令时使用。我会在第2章介绍管道,但就目前来说,知道Linux系统(以及Windows系统在类似的情况下)允许我们将一条命令的输出作为输入发送给另一条命令就足够了。这就叫作管道传输,我们可以利用|命令来完成这种操作(在键盘上,|键通常是在回车键的上方)。

ps命令用于显示主机上正在运行的进程的相关信息。我们将在第6章对其进行详细讲解,但就本例而言,假设我想要查看Linux系统上正在运行的所有进程。在这种情况下,我可以使用ps(processes)命令后跟aux选项来指定要显示的进程信息类型,如下所示:

这样就提供了一个系统中所有正在运行的进程的列表——但如果我只想查找一个进程以确定它是否正在运行,那么怎么办?

我可以通过将ps命令的输出利用管道传输给grep命令,进而搜索关键字来实现。比如,要查看apache2服务是否正在运行,我可以输入如下内容:

这条命令通知Linux系统显示所有服务,然后将输出发送给grep命令,该命令将遍历输出信息来查找关键字apache2,之后只显示相关输出,这就为我节省了可观的时间并保护了我的视力。