lsof
(list open files)是一个用于显示当前系统打开文件的实用工具
-
命令格式:
lsof [选项] [文件或目录]
例如,要查看当前目录下所有打开的文件,可以使用lsof .
。 -
输出列解释:
- COMMAND:正在运行该文件的进程名称。
- PID:进程ID。
- USER:打开文件的进程所有者。
- FD:文件描述符,表示文件在进程中的位置。
- TYPE:文件类型,如普通文件、目录、套接字等。
- SIZE/OFF:文件大小或文件偏移量。
- NODE:索引节点号,用于唯一标识文件。
- NAME:打开的文件名。
-
常用选项:
-i
:显示网络连接、套接字和正在监听的端口。-n
:以数字形式显示地址和端口号,不解析服务名和域名。-o
:仅显示与指定选项匹配的文件。-p
:显示哪个进程打开了文件。-u
:显示哪个用户打开了文件。-R
:显示文件正在被读取。-W
:显示文件正在被写入。-X
:仅显示套接字文件。
-
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 1234 user1 4r REG 8,1 123456 7890 /path/to/file.txt
在这个例子中,我们可以看到由用户user1
运行的python
进程(PID为1234)正在读取位于/path/to/file.txt
的文件(文件描述符为4)。
要更好地理解和解读lsof
的输出结果,建议熟悉这些列的含义以及常用的选项。这样,在分析系统资源使用情况或排查问题时,您将能够更有效地使用lsof
命令。