1. 命令简介
lsof(list open files. 列出打开的文件)是一个命令行工具,用于显示当前打开的文件和网络连接。它提供了有关每个打开的文件或连接的详细信息,包括进程 ID、文件描述符、访问模式和使用的端口。
2. 用法
- 基本语法
lsof [选项] [进程、文件或网络选项]
- 参数选项
lsof 提供了广泛的选项来过滤和格式化输出。以下是一些常见的选项:
-c, --command: 指定要显示其打开文件的进程。
-p, --pid: 指定要显示其打开文件的进程 ID。
-f, --format: 指定输出格式。
-i, --network: 显示网络连接信息。
-s, --size: 显示文件大小。
-u, --user: 指定要显示其打开文件的用户。
- 进程、文件或网络选项
lsof 还接受进程、文件或网络选项来指定要显示的信息。以下是一些常见的选项:
# 进程 ID:指定要显示其打开文件的进程 ID。# 进程名称:指定要显示其打开文件的进程名称。# 文件路径: 指定要显示其打开状态的文件路径。# 网络端口: 指定要显示其打开状态的网络端口。
3. 示例
显示特定进程打开的文件:
lsof -c <进程名称>
lsof -c mysql
显示特定文件打开状态:
lsof <文件路径>
lsof /var/lib/mysql/mysql.sock
显示所有网络(或特定端口)连接:
lsof -i
lsof -i :<端口号>
lsof -i:3306
lsof 还支持许多高级功能,例如:
- 过滤输出:使用 -F 选项按特定条件过滤输出。
- 聚合输出:使用 -a 选项聚合输出。
- 生成报告:使用 -r 选项生成打开文件和网络连接的报告。