lsof
是一个在 Linux 系统中用于列出打开文件的实用程序
-a
:显示所有文件,包括那些没有关联进程的文件。-c <command>
:仅显示与指定命令相关的文件。-d <domain>
:根据指定的域过滤文件。可选的域有:u
(用户)、v
(虚拟内存)、p
(进程ID)和f
(文件)。-e <expression>
:根据指定的表达式过滤文件。例如,-e "fd:3"
将仅显示文件描述符为 3 的文件。-f
:显示正在运行的进程打开的文件。-g
:仅显示与指定进程组相关的文件。-i
:根据指定的网络协议过滤文件。可选的协议有:tcp
、udp
、all
。-n
:以数字形式显示文件名和相关信息,而不是尝试解析符号链接。-o
:仅显示与指定选项匹配的文件。例如,-o "path"
将仅显示文件路径。-p <PID>
:仅显示与指定进程ID相关的文件。-r
:递归地显示目录及其子目录中的打开文件。-s
:根据指定的状态过滤文件。可选的状态有:r
(可读)、w
(可写)、x
(可执行)和u
(用户可读/写/执行)。-u <username>
:仅显示与指定用户相关的文件。-v
:显示详细的文件信息,如文件类型、打开模式等。-h
:以人类可读的格式显示文件大小。-w
:显示正在写入的文件。-x
:仅显示已执行的文件。要查看所有可用选项,请在终端中运行 man lsof
或 lsof --help
。