lsof
(list open files)是一个在Unix和Linux系统中用于显示当前系统打开文件的实用工具
-a
:显示所有文件,包括那些没有关联进程的文件。-c
:显示指定进程打开的文件。-d
:仅显示由指定文件描述符打开的文件。-e
:根据扩展名筛选文件,如.txt
、.jpg
等。-f
:仅显示进程ID(PID)。-i
:根据网络连接或套接字筛选文件,如TCP、UDP等。-n
:以数字形式显示文件名、进程ID等信息,避免解析符号链接。-o
:仅显示与指定文件相关的信息。-p
:显示指定进程打开的文件。-r
:递归显示子目录中的文件。-u
:根据用户名筛选文件,如root
、www-data
等。-v
:显示详细的文件信息,如文件创建时间、修改时间等。-x
:仅显示套接字文件。这些选项可以组合使用,以便更精确地筛选和显示所需的信息。例如,要显示由用户root
打开的所有网络连接文件,可以使用以下命令:
lsof -a -u root -i