首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >lsof 命令速查:Linux 文件与进程诊断工具

lsof 命令速查:Linux 文件与进程诊断工具

作者头像
小田测测看
发布2026-06-17 17:04:46
发布2026-06-17 17:04:46
1080
举报

lsof(List Open Files)是 Linux 下用于排查文件、网络资源占用的实用命令,系统中 “一切皆文件”(普通文件、目录、套接字等 ),它能快速定位资源关联关系。

基础语法

代码语言:javascript
复制
lsof [选项] [目标]

高频用法

1. 列出所有打开的文件

代码语言:javascript
复制
lsof  

查看系统中所有进程打开的文件详情,含进程名、PID、用户、文件路径等。

2. 查文件被哪个进程占用

代码语言:javascript
复制
lsof /path/to/file  

例:lsof /var/log/syslog ,解决文件占用无法删除 / 修改问题。

3. 按进程 ID 查打开的文件

代码语言:javascript
复制
lsof -p 12345  # 替换实际 PID  

结合 ps 用:lsof -p (ps -ef | grep nginx | awk 'NR==1{print 2}') ,分析进程依赖文件。

4. 查某个用户打开的文件

代码语言:javascript
复制
lsof -u username  # 替换实际用户名  

例:lsof -u www-data ,查看 Web 服务用户资源占用。

5. 定位端口占用

代码语言:javascript
复制
lsof -i :8080  # 替换实际端口  

秒查 “端口被占用” 问题,直接找占用进程(含 PID、进程名 )。

6. 列所有网络连接

代码语言:javascript
复制
lsof -i  

输出系统网络相关文件(套接字、TCP/UDP 连接等 ),排查服务监听、异常连接问题。

7. 按协议过滤(TCP/UDP)

代码语言:javascript
复制
lsof -i tcp   # 仅显 TCP 连接  
lsof -i udp   # 仅显 UDP 连接  

8. 查程序名相关的打开文件

代码语言:javascript
复制
lsof -c nginx  # 替换实际程序名  

模糊匹配进程名,快速分析服务(如 Nginx、MySQL )资源占用。

9. 查删除但仍被占用的文件

代码语言:javascript
复制
lsof | grep deleted  

解决 “日志被删但磁盘空间未释放” 问题,找到占用进程后,重启进程释放空间。

关键列说明

列名

含义

示例值

COMMAND

打开文件的进程名

nginx python

PID

进程 ID

1234

USER

进程所属用户

root www-data

NAME

文件名 / 路径(网络显 IP: 端口 )

/var/log/syslog 192.168.1.1:80

权限与技巧

  • • 查其他用户 / 系统进程需 sudosudo lsof [选项]
  • • 结合管道过滤:lsof -i :80 | awk '{print 1, 2,

遇到端口占用、文件删不掉等问题,直接套对应命令就能快速定位!

#Linux #lsof

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拾光 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础语法
  • 高频用法
    • 1. 列出所有打开的文件
    • 2. 查文件被哪个进程占用
    • 3. 按进程 ID 查打开的文件
    • 4. 查某个用户打开的文件
    • 5. 定位端口占用
    • 6. 列所有网络连接
    • 7. 按协议过滤(TCP/UDP)
    • 8. 查程序名相关的打开文件
    • 9. 查删除但仍被占用的文件
  • 关键列说明
  • 权限与技巧
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档