Linux LSOF 命令

“在这个 Linux 教程,我们将尝试探索一个非常有用的用法 Linux 命令,即 LSOF 命令。 我们将首先向您介绍此命令的基本用途和一般语法,然后是一些有用的示例,这些示例将对您使用此命令有很大帮助。 那么,让我们开始吧。”

LSOF 命令的用途 Linux

LSOF 的字面意思是“列出打开的文件”,顾名思义,该命令用于列出系统中所有当前打开的文件。 该命令的一般语法如下:

$ lsof [option]

在这里,您可以将“选项”替换为此命令可用的任何选项。

LSOF 命令的使用 Linux

要了解如何在中使用 LSOF 命令 Linux,您可以通过以下示例:

示例 # 1:列出所有打开的文件 Linux

在这个 example,我们将在中使用 LSOF 命令 Linux 用于简单地列出所有打开的文件。 为此,我们将以如下所示的方式运行此命令:

$ lsof

在没有任何选项的情况下运行此命令会打印有关终端上所有当前打开的文件的详细信息,如下图所示。 此命令将需要一些时间来执行,因为它必须产生冗长的输出。

示例 #2:列出属于特定用户的所有打开文件 Linux

现在,我们将使用 LSOF 命令打印属于特定文件的所有打开文件的详细信息 Linux 用户自 Linux 系统可以同时拥有多个用户。 为此,我们将使用如下所示的命令:

$ lsof –u system

带有“-u”标志后跟用户名的 LSOF 命令打印属于指定用户的所有打开文件。 在这个 example,我们想打印只属于 Linux 名为“系统”的用户。 您可以将其替换为您希望列出其打开文件的用户的用户名。

属于我们的指定用户的所有打开文件 Linux 系统如下图所示:

示例 # 3:列出与特定进程 ID 关联的所有打开文件 Linux

在这个 example,我们打算打印与特定进程 ID 关联的所有打开文件。 为此,我们将以如下所示的方式使用 LSOF 命令:

$ lsof –p 1129

每当 LSOF 命令与“-p”标志后跟特定进程 ID 配对时,与该特定进程 ID 关联的所有打开文件都会打印在终端上。 您可以将“1129”替换为您要打印其关联打开文件的进程的进程 ID。

与我们的指定进程 ID 关联的所有打开文件 Linux 系统如下图所示:

示例 # 4:列出所有与父进程关联的打开文件 Linux

现在,我们只想列出所有与父进程关联的打开文件 Linux. 为此,我们将使用如下所示的 LSOF 命令:

$ lsof –R

“-R”标志与 LSOF 命令一起使用,用于列出仅与父进程关联的所有打开文件 Linux.

与我们的父进程关联的所有打开文件 Linux 系统如下图所示:

示例 # 5:列出与遵循特定协议的网络连接关联的所有打开文件 Linux

在这个 example,我们希望列出所有与网络连接相关的打开文件 Linux 遵循特定协议,例如 TCP 或 UDP。 为此,我们将以如下所示的方式使用 LSOF 命令:

$ sudo lsof –i tcp

该命令需要“sudo” 执行权限。 此外,如果您想显示与该特定协议关联的所有打开文件,只需将“tcp”替换为“udp”即可。

我们所有打开的文件 Linux 属于指定协议的系统如下图所示:

结论

在本教程中,我们想指导您使用 LSOF 命令 Linux. 为此,我们首先讨论了这个命令的用途,然后是它的一般语法。 之后,我们讨论了一些 example 此命令的用例将对您进一步探索此命令有很大帮助。