惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
M
MIT News - Artificial intelligence
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
有赞技术团队
有赞技术团队
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
美团技术团队
F
Fortinet All Blogs
I
Intezer
IT之家
IT之家
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
AWS News Blog
AWS News Blog
P
Palo Alto Networks Blog
S
Securelist
L
LINUX DO - 热门话题
Security Archives - TechRepublic
Security Archives - TechRepublic
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Project Zero
Project Zero
U
Unit 42
博客园_首页
博客园 - 司徒正美
S
Security Affairs
V
V2EX
T
Threatpost
T
Tailwind CSS Blog
GbyAI
GbyAI
O
OpenAI News
K
Kaspersky official blog
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
H
Hacker News: Front Page
V2EX - 技术
V2EX - 技术
Security Latest
Security Latest

码云笔记

Pinia v4 发布:Vue 状态管理进入新时代 Linux LVM:故障排查与数据恢复指南 Java中wait()与sleep()方法的不同点是什么? Bonsai27B 重磅落地!27B 大模型实现手机本地运行 ES2026 第 17 版新增的 5 个新特性 高德重磅上线 ABot‑World Studio,消费级显卡就能搭建专属 3D 虚拟世界 Java中final、finally和finalize的区别是什么? 怎么修改Ollama及其模型的默认路径?Ollama路径修改、迁移与重启的操作教程 iOS27 公开测试版正式上线!AI Siri 与液态玻璃成最大看点 Yuku正式发布!比 Vite+ 快 5.4 倍的前端工具链 Claude Code CLI命令手册 代码审查重构Bug修复场景化工作流 OpenClaw中连接并使用本地Ollama模型的操作教程 GPT-5.6 今天正式上线:OpenAI 掏出”太阳系”全家桶,Sol / Terra / Luna 齐发,打的却是一张”效率牌” Nacos MySQL持久化部署完整教程 GPT-5.6系列正式上线:OpenAI以效能与性价比重塑AI行业竞争格局 Java中序列化与反序列化的概念是什么? 如何在HTML中实现字体颜色根据背景自动变化? JDK动态代理与CGLIB动态代理的区别是什么? OpenClaw数据加密敏感信息保护的完整教程 砸超亿美元算力!亚马逊秘密启动Moonraker项目,Alexa迎来颠覆性升级 PHP 最轻量、结构化 .docx 到 Markdown 转换器 Elephant TypeScript 7.0 正式发布 蚂蚁灵波开源全球首款 MoE 具身视频大模型 LingBot-Video,为机器人世界模型搭建新底座 SpaceX AI联合Cursor推出Grok 4.5 搅动专业AI赛道格局 英伟达Vera CPU落地商用,改写AI代理时代算力竞争规则 什么是端点检测与响应(EDR)以及它的工作原理介绍 Anime.js 已经 10 岁了!作者查出脑瘤,V5 将开始收费! 星链开启全面升级!SpaceX申请十万颗卫星,构建AI时代全球天基基建 PHP 通用表达式语言 CEL-PHP 2.0.0 正式发布! WordPress 7.0 下载,支持AI建站 Docker Desktop(windows)版本下载 详解 Linux 端口监听检查工具:ss、netstat、lsof 京东 JoyAI 上线 UGC 数字人功能,普通人一键打造专属虚拟分身 Java中Integer缓存池的作用是什么? 应对劳动力短缺 日本加码布局AI机器人产业,2040年拟千万台机器人落地各行各业 Java中深拷贝与浅拷贝的区别是什么? Claude旗舰模型收费规则大变:订阅权益取消,转为按量计费 MySQL中的分布式架构和复制策略 如何在 MySQL 中处理 BLOB 和 CLOB 数据类型? 如何在 MySQL 中处理和优化长时间运行的查询? git提交信息分别用什么icon好? Composer安装与配置教程 35岁华为员工偷偷面试,被面试官嘲讽:你是被淘汰的吧?他的回怼让面试官当场闭嘴 谷歌Nano Banana 2 Lite正式上线:4秒极速出图,大幅降低AI生图成本 锐捷交换机运维配置完全参考手册 Vue 3.5:Effect Scope 与响应式污染隔离机制 IS-IS协议基本概念、工作原理与扩展应用 美团LongCat-2.0重磅开源!国产万亿参数大模型解锁超长上下文新能力 LangChain4j 和 LangGraph4j 区别是什么?哪个更好? Claude Code 的聊天和配置可以一键搬进 Codex 了 码云笔记详解Markdown格式兼容性、图片显示失效与同步冲突解决 python实现自动爬取某论坛帖子并导出到Word文档的实战教程 高德低调内测 AI 零代码工具“袋马”,切入小微商家轻量化应用开发赛道 一文看懂OSPF:基础概念、工作原理和应用场景 PHP (Yii2) 接入企业级 SSO 单点登录实战教程 Google终于支持修改Gmail邮箱了?实测告诉你哪些能改,哪些不能改!(附详细教程+FAQ) UCloud 4.6 元 / 月服务器是真的吗? 2026 云服务器完整选购攻略 Webiny:无服务器应用程序框架 Fyrox:现代化的 Rust 游戏引擎 千问发布全球首个原生语言世界模型Qwen-AgentWorld,AI智能体迈入全环境实操新时代 火山引擎上新豆包音频生成模型1.0,AI音频生成实现一键全流程创作 使用Claude Code经常遇到的10个问题 如何批量清理wordpress所有文章和标签,保留设置,保留分类? 谷歌 NotebookLM 内测文献综述矩阵工具,Gemini3.5 赋能 AI 学术结构化研究 京东开源JoyAI-VL-Interaction模型 解锁AI实时视频视觉交互新形态 破解中小商家海报设计难题!MeiGen-AI开源闭环AI设计方案落地 详解Bash set 命令:set -e、set -x 和 set -u 完全指南 Node Plus ?比 pnpm 快 24 倍! Plan-Execute-Replan 和 ReAct 的区别是什么? Anthropic最新报告揭秘:AI编程人机协作成开发者主流工作模式 详解PostgreSQL 18 逻辑复制冲突检测与解决方法 JDK动态代理与CGLIB动态代理的区别是什么? 详解 Linux 中 localhost、127.0.0.1 与 Loopback(回环地址) OpenAI Codex新手入门教程 安装配置AGENTS.md与MCP全流程详解 程序员必备AGENTS.md配置指南 规避AI编码修改乱象 使用 Codex 必装的 12 个插件,你值得拥有! macOS AI CLI工具安装与避坑指南 OpenClaw Gemini Claude报错全套解决方案 智谱AI正式开源GLM-5. 2 模型:主打1M无损上下文与长程代码任务 小米 MiMo Claw 正式版上线 轻量化 Agent 打通金山办公生态 如何定义 Vue 的动态路由?如何获取传过来的动态参数? 记录Claude Code Router 接入过程遇到问题及解决方法 千问AI眼镜凭硬核实力领跑2026智能穿戴赛道 程序员特有的习惯你占了几条! 郝景芳新作半数内容由AI创作,文坛郝景芳AI写作争议再起 使用 iftop、nload、bmon、vnstat 监控 Linux 网络带宽 现代富文本编辑器为什么最终都会抛弃 DOM? Vue 的 v-cloak 和 v-pre 指令有什么作用? 去哪里买抖音号?抖音小号在线购买-抖音小号出售批发 实名闲鱼小号出售|闲鱼账号批发|咸鱼发布账号|出售闲鱼发布账号 zfb号购买-支付宝小号购买-实名支付宝购买号-企业支付宝购买-支付宝小号批发 个人支付宝实名账号出售|v2/v3支付宝账号出售|实名支付宝小号购买 闲鱼账号哪里有卖-闲鱼实名账号购买的途径 Java注解的实现原理是什么? Agentation MemPalace 《置身钉内》之好词好句好段摘抄 AI有声书革命!万象有声全自动生产线,7元/万字颠覆网文有声化行业 详解CentOS 7跨版本迁移Rocky Linux9 生产环境安全升级教程 Java中序列化与反序列化的含义是什么? 18. Python 标准库之 Json 模块
Linux lsof 命令详解:进程与文件监控实战
Mr刘先森 普通 · 2026-07-13 · via 码云笔记

AI 概述

lsof 是 Linux 核心运维工具,可查看进程打开的文件、设备、网络连接等信息,支持多种文件类型查询。本文介绍其基础概念、常用操作参数,结合实操案例,演示按进程、用户、端口、文件描述符等多维度查询方法,覆盖文件占用、端口监听、网络连接排查等场景,可帮助运维人员快速排查系统故障、分析资源状态,是 Linux 运维排查的实用工具。

目录

文章目录隐藏

  1. 一、lsof 是什么?
  2. 二、lsof 打开文件类型
  3. 三、lsof 命令格式及参数
  4. 四、lsof 使用实例
  5. 总结

Linux lsof 命令详解:进程与文件监控实战

lsof 是 Linux 系统中核心的文件与连接排查工具,可列出系统进程已打开的各类文件、设备及网络连接信息。本文详细介绍 lsof 的定义、支持的文件类型、常用命令参数,并结合大量实操案例,演示进程、用户、端口、文件描述符等多维度查询用法,是服务器运维、故障排查与资源分析的实用参考。

lsof(list open files)是一个查看当前系统文件的工具。Linux 系统中的所有事物都以文件的形式存在,包括常规数据、网络连接和硬件等。lsof 工具可以列出当前系统上由进程打开的所有文件和网络连接,以及这些文件和网络连接的详细信息,如文件描述符、进程 ID、用户、文件类型、文件名、网络连接等。这些信息对于排查文件访问和网络连接问题非常有用,也可以帮助诊断性能问题和释放资源。

二、lsof 打开文件类型

lsof 打开的文件可以是:

文件类型 表示方式
普通文件 REG
目录 DIR
网络文件系统的文件 NFS
字符设备 CHR
块设备 BLK
函数库 LIB
套接字 SOCK
管道 FIFO
命名管道 FIFO
符号链接 LNK
网络 socket INET
Unix 域名 socket unix

三、lsof 命令格式及参数

lsof 命令的基本格式为:

lsof [options]

其中,options 为 lsof 的不同参数,用于指定要显示的信息、过滤结果等。

以下是一些常用的 lsof 参数:

参数 描述
-c 仅显示匹配进程名的结果
-p 仅显示匹配进程 ID 的结果
-u 仅显示匹配用户名的结果
-g 仅显示匹配用户组的结果
-i 仅显示匹配网络端口的结果
-a 显示所有匹配条件的结果
-t 仅显示进程 ID
-F 以指定格式输出结果
-h 不显示表头
-n 不解析主机名
-P 不解析端口号
-s 仅显示匹配协议的结果
-V 显示 lsof 版本信息

以上只是一部分常用的 lsof 参数,还有很多其他的参数可以自行查阅 lsof 的帮助文档。

四、lsof 使用实例

1. 无任何参数

在不加任何参数的情况下,lsof 会列出所有打开的文件和进程的详细信息。这可能会产生大量的输出,包括很多不必要的信息,因此建议使用其他参数来过滤和限制输出。如果需要列出所有打开的文件和进程的信息,可以使用以下命令:

[root@muyang ~]# lsof | more
COMMAND     PID  TID           USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd       1                root  cwd       DIR              253,3       238         64 /
systemd       1                root  rtd       DIR              253,3       238         64 /
systemd       1                root  txt       REG              253,3   1628608   67791946 /usr/lib/systemd/systemd
systemd       1                root  mem       REG              253,3     20064   33717139 /usr/lib64/libuuid.so.1.3.0
systemd       1                root  mem       REG              253,3    265576   34213169 /usr/lib64/libblkid.so.1.1.0
systemd       1                root  mem       REG              253,3     90248   33717133 /usr/lib64/libz.so.1.2.7
systemd       1                root  mem       REG              253,3    157424   33717155 /usr/lib64/liblzma.so.5.2.2
systemd       1                root  mem       REG              253,3     23968   33717159 /usr/lib64/libcap-ng.so.0.0.0
systemd       1                root  mem       REG              253,3     19896   33717355 /usr/lib64/libattr.so.1.1.0
systemd       1                root  mem       REG              253,3     19248   33656645 /usr/lib64/libdl-2.17.so
systemd       1                root  mem       REG              253,3    402384   33717119 /usr/lib64/libpcre.so.1.2.0
systemd       1                root  mem       REG              253,3   2156240   33639071 /usr/lib64/libc-2.17.so
systemd       1                root  mem       REG              253,3    142144   33656665 /usr/lib64/libpthread-2.17.so
systemd       1                root  mem       REG              253,3     88776   33554509 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
systemd       1                root  mem       REG              253,3     43712   33656669 /usr/lib64/librt-2.17.so
systemd       1                root  mem       REG              253,3    277792   34213190 /usr/lib64/libmount.so.1.1.0
systemd       1                root  mem       REG              253,3     91800   33717318 /usr/lib64/libkmod.so.2.2.10
systemd       1                root  mem       REG              253,3    127184   33717162 /usr/lib64/libaudit.so.1.0.0
systemd       1                root  mem       REG              253,3     61680   34354248 /usr/lib64/libpam.so.0.83.1
systemd       1                root  mem       REG              253,3     20048   33717359 /usr/lib64/libcap.so.2.22
systemd       1                root  mem       REG              253,3    155744   33717131 /usr/lib64/libselinux.so.1
systemd       1                root  mem       REG              253,3    163312   33639064 /usr/lib64/ld-2.17.so
systemd       1                root  mem       REG              253,3   1416154   68900363 /etc/selinux/targeted/contexts/files/file_contexts.bin
systemd       1                root  mem       REG              253,3       296   68010597 /etc/selinux/targeted/contexts/files/file_contexts.local.bin
systemd       1                root  mem       REG              253,3     45577   68900365 /etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
systemd       1                root    0u      CHR                1,3       0t0       1028 /dev/null
systemd       1                root    1u      CHR                1,3       0t0       1028 /dev/null
systemd       1                root    2u      CHR                1,3       0t0       1028 /dev/null
systemd       1                root    3u  a_inode               0,10         0       6415 [timerfd]
systemd       1                root    4u  a_inode               0,10         0       6415 [eventpoll]
systemd       1                root    5u  a_inode               0,10         0       6415 [signalfd]
systemd       1                root    6r      DIR               0,21         0       9228 /sys/fs/cgroup/systemd
systemd       1                root    7u  a_inode               0,10         0       6415 [timerfd]
systemd       1                root    8u  netlink                          0t0      10996 KOBJECT_UEVENT
systemd       1                root    9r      REG                0,3         0       9460 /proc/1/mountinfo
systemd       1                root   10r  a_inode               0,10         0       6415 inotify
systemd       1                root   11r      REG                0,3         0 4026532019 /proc/swaps
systemd       1                root   12u     unix 0xffff8c2434cef2c0       0t0      10129 /run/systemd/private
……

lsof 输出各列信息的意义如下:

  • COMMAND: 打开该文件或网络连接的进程的名称。
  • PID: 打开该文件或网络连接的进程的 ID。
  • TID: 线程 ID(如果有多线程)。
  • USER: 打开该文件或网络连接的进程的所有者。
  • FD: 文件描述符(File descriptor),是一个与文件或网络连接相关联的整数值。文件描述符可以是读取、写入、追加、定位等等,因此一个进程可以打开同一个文件的多个描述符。对于网络连接,文件描述符的格式为:IPv4/TCP@hostname:port 或 IPv6/TCP@[hostname]:port 或 unix@filename。
  • TYPE: 打开该文件或网络连接的类型,如 REG(常规文件)、DIR(目录)、FIFO(命名管道)、CHR(字符设备)、BLK(块设备)、UNIX(Unix 域套接字)、IPv4(IPv4 套接字)等。
  • DEVICE: 设备的名称或主设备号和次设备号,对于网络连接为 IP 地址和端口号。
  • SIZE/OFF: 文件的大小或网络连接的偏移量。
  • NODE: 节点号,对于网络连接为远程主机名和端口号或本地套接字地址。对于文件则是索引节点号(Inode)或文件名。

2. 列出某个程序进程所打开的文件信息

[root@ctyun-mymobile ~]# lsof -c mysqld
COMMAND    PID  USER   FD   TYPE             DEVICE  SIZE/OFF    NODE NAME
mysqld_sa 1229  root  cwd    DIR              202,2      4096  923072 /www/server/mysql
mysqld_sa 1229  root  rtd    DIR              202,2      4096       2 /
mysqld_sa 1229  root  txt    REG              202,2    964536 1705859 /usr/bin/bash
mysqld_sa 1229  root  mem    REG              202,2    163312 1707642 /usr/lib64/ld-2.17.so
mysqld_sa 1229  root  mem    REG              202,2     26970 1708218 /usr/lib64/gconv/gconv-modules.cache
mysqld_sa 1229  root  mem    REG              202,2    174576 1708269 /usr/lib64/libtinfo.so.5.9
mysqld_sa 1229  root  mem    REG              202,2     19248 1715559 /usr/lib64/libdl-2.17.so
mysqld_sa 1229  root  mem    REG              202,2   2156592 1707902 /usr/lib64/libc-2.17.so
mysqld_sa 1229  root  mem    REG              202,2 106176928 1715553 /usr/lib/locale/locale-archive
mysqld_sa 1229  root  mem    REG              202,2     61560 1715567 /usr/lib64/libnss_files-2.17.so
mysqld_sa 1229  root    0r   CHR                1,3       0t0      17 /dev/null
mysqld_sa 1229  root    1w   CHR                1,3       0t0      17 /dev/null
mysqld_sa 1229  root    2u  unix 0xffff93695bbc5400       0t0   21536 socket
mysqld_sa 1229  root  255r   REG              202,2     27868  923102 /www/server/mysql/bin/mysqld_safe
mysqld    2122 mysql  cwd    DIR              202,2      4096  938320 /www/server/data
……

-c 选项将会列出所有以 mysql 这个进程开头的程序的文件,其实你也可以写成 lsof | grep mysql, 但是第一种方法明显比第二种方法要少打几个字符。

3. 查找某个文件相关的进程

[root@muyang ~]# lsof /bin/bash
COMMAND   PID USER  FD   TYPE DEVICE SIZE/OFF  NODE NAME
ksmtuned  697 root txt    REG  253,3   964536 27829 /usr/bin/bash
bash     6198 root txt    REG  253,3   964536 27829 /usr/bin/bash
bash     7743 root txt    REG  253,3   964536 27829 /usr/bin/bash

4.列出某个用户打开的文件信息

[root@muyang ~]# lsof -u moonrong
COMMAND  PID     USER   FD   TYPE DEVICE  SIZE/OFF     NODE NAME
bash    8404 moonrong  cwd    DIR  253,5      4096       67 /home/moonrong
bash    8404 moonrong  rtd    DIR  253,3       238       64 /
bash    8404 moonrong  txt    REG  253,3    964536    27829 /usr/bin/bash
bash    8404 moonrong  mem    REG  253,3 106172832    27824 /usr/lib/locale/locale-archive
bash    8404 moonrong  mem    REG  253,3     61560 33656657 /usr/lib64/libnss_files-2.17.so
bash    8404 moonrong  mem    REG  253,3   2156240 33639071 /usr/lib64/libc-2.17.so
bash    8404 moonrong  mem    REG  253,3     19248 33656645 /usr/lib64/libdl-2.17.so
bash    8404 moonrong  mem    REG  253,3    174576 33717102 /usr/lib64/libtinfo.so.5.9
bash    8404 moonrong  mem    REG  253,3    163312 33639064 /usr/lib64/ld-2.17.so
bash    8404 moonrong  mem    REG  253,3    123267 33717113 /usr/share/locale/zh_CN/LC_MESSAGES/bash.mo
bash    8404 moonrong  mem    REG  253,3     26970 67221303 /usr/lib64/gconv/gconv-modules.cache
bash    8404 moonrong    0u   CHR  136,0       0t0        3 /dev/pts/0
bash    8404 moonrong    1u   CHR  136,0       0t0        3 /dev/pts/0
bash    8404 moonrong    2u   CHR  136,0       0t0        3 /dev/pts/0
bash    8404 moonrong  255u   CHR  136,0       0t0        3 /dev/pts/0

5. 通过某个进程号显示该进程打开的文件

[root@ctyun-mymobile ~]# lsof -p 2122
COMMAND  PID  USER   FD   TYPE             DEVICE  SIZE/OFF    NODE NAME
mysqld  2122 mysql  cwd    DIR              202,2      4096  938320 /www/server/data
mysqld  2122 mysql  rtd    DIR              202,2      4096       2 /
mysqld  2122 mysql  txt    REG              202,2  27889560  923100 /www/server/mysql/bin/mysqld
mysqld  2122 mysql  mem    REG              202,2    163312 1707642 /usr/lib64/ld-2.17.so
mysqld  2122 mysql  DEL    REG               0,11             22365 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22366 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22367 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22368 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22372 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22369 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22370 /[aio]
mysqld  2122 mysql  DEL    REG               0,11             22371 /[aio]
mysqld  2122 mysql  mem    REG              202,2    142144 1707928 /usr/lib64/libpthread-2.17.so
mysqld  2122 mysql  mem    REG              202,2      6264 1729167 /usr/lib64/libaio.so.1.0.1
mysqld  2122 mysql  mem    REG              202,2     40600 1707906 /usr/lib64/libcrypt-2.17.so
……

6. 列出所有的网络连接

[root@muyang ~]# lsof -i
COMMAND    PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rpcbind    603    rpc    6u  IPv4   17061      0t0  UDP *:sunrpc 
rpcbind    603    rpc    7u  IPv4   17062      0t0  UDP *:acmaint_transd 
rpcbind    603    rpc    8u  IPv4   17063      0t0  TCP *:sunrpc (LISTEN)
rpcbind    603    rpc    9u  IPv6   17064      0t0  UDP *:sunrpc 
rpcbind    603    rpc   10u  IPv6   17065      0t0  UDP *:acmaint_transd 
rpcbind    603    rpc   11u  IPv6   17066      0t0  TCP *:sunrpc (LISTEN)
chronyd    632 chrony    5u  IPv4   18059      0t0  UDP localhost:323 
chronyd    632 chrony    6u  IPv6   18060      0t0  UDP localhost:323 
avahi-dae  664  avahi   12u  IPv4   16062      0t0  UDP *:mdns 
avahi-dae  664  avahi   13u  IPv4   16063      0t0  UDP *:55498 
cupsd     1063   root   11u  IPv6   21159      0t0  TCP localhost:ipp (LISTEN)
cupsd     1063   root   12u  IPv4   21160      0t0  TCP localhost:ipp (LISTEN)
sshd      1064   root    3u  IPv4   21145      0t0  TCP *:ssh (LISTEN)
sshd      1064   root    4u  IPv6   21154      0t0  TCP *:ssh (LISTEN)
dnsmasq   1495 nobody    3u  IPv4   24889      0t0  UDP *:bootps 
dnsmasq   1495 nobody    5u  IPv4   24892      0t0  UDP muyang:domain 
dnsmasq   1495 nobody    6u  IPv4   24893      0t0  TCP muyang:domain (LISTEN)
master    1508   root   13u  IPv4   24918      0t0  TCP localhost:smtp (LISTEN)
master    1508   root   14u  IPv6   24919      0t0  TCP localhost:smtp (LISTEN)
sshd      6170   root    3u  IPv4 2573749      0t0  TCP muyang:ssh->129.184.157.101:onbase-dds (ESTABLISHED)
sshd      6170   root    8u  IPv6 2573792      0t0  TCP localhost:x11-ssh-offset (LISTEN)
sshd      6170   root    9u  IPv4 2573793      0t0  TCP localhost:x11-ssh-offset (LISTEN)
sshd      7735   root    3u  IPv4 2586301      0t0  TCP muyang:ssh->129.184.157.101:gttaua (ESTABLISHED)
sshd      7735   root    8u  IPv6 2586334      0t0  TCP localhost:6011 (LISTEN)
sshd      7735   root    9u  IPv4 2586335      0t0  TCP localhost:6011 (LISTEN)

7. 列出所有 tcp 网络连接信息

[root@muyang ~]# lsof -i tcp
COMMAND  PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rpcbind  603    rpc    8u  IPv4   17063      0t0  TCP *:sunrpc (LISTEN)
rpcbind  603    rpc   11u  IPv6   17066      0t0  TCP *:sunrpc (LISTEN)
cupsd   1063   root   11u  IPv6   21159      0t0  TCP localhost:ipp (LISTEN)
cupsd   1063   root   12u  IPv4   21160      0t0  TCP localhost:ipp (LISTEN)
sshd    1064   root    3u  IPv4   21145      0t0  TCP *:ssh (LISTEN)
sshd    1064   root    4u  IPv6   21154      0t0  TCP *:ssh (LISTEN)
dnsmasq 1495 nobody    6u  IPv4   24893      0t0  TCP muyang:domain (LISTEN)
master  1508   root   13u  IPv4   24918      0t0  TCP localhost:smtp (LISTEN)
master  1508   root   14u  IPv6   24919      0t0  TCP localhost:smtp (LISTEN)
sshd    6170   root    3u  IPv4 2573749      0t0  TCP muyang:ssh->129.184.157.101:onbase-dds (ESTABLISHED)
sshd    6170   root    8u  IPv6 2573792      0t0  TCP localhost:x11-ssh-offset (LISTEN)
sshd    6170   root    9u  IPv4 2573793      0t0  TCP localhost:x11-ssh-offset (LISTEN)
sshd    7735   root    3u  IPv4 2586301      0t0  TCP muyang:ssh->129.184.157.101:gtaua (ESTABLISHED)
sshd    7735   root    8u  IPv6 2586334      0t0  TCP localhost:6011 (LISTEN)
sshd    7735   root    9u  IPv4 2586335      0t0  TCP localhost:6011 (LISTEN)

8. 列出谁在使用某个端口

[root@muyang ~]# lsof -i :22
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd    1064 root    3u  IPv4   21145      0t0  TCP *:ssh (LISTEN)
sshd    1064 root    4u  IPv6   21154      0t0  TCP *:ssh (LISTEN)
sshd    6170 root    3u  IPv4 2573749      0t0  TCP muyang:ssh->129.184.157.101:onbase-dds (ESTABLISHED)
sshd    7735 root    3u  IPv4 2586301      0t0  TCP muyang:ssh->129.184.157.101:gtaua (ESTABLISHED)

9. 列出某个用户的所有活跃的网络端口

[root@muyang ~]# lsof -a -u root -i
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
cupsd   1063 root   11u  IPv6   21159      0t0  TCP localhost:ipp (LISTEN)
cupsd   1063 root   12u  IPv4   21160      0t0  TCP localhost:ipp (LISTEN)
sshd    1064 root    3u  IPv4   21145      0t0  TCP *:ssh (LISTEN)
sshd    1064 root    4u  IPv6   21154      0t0  TCP *:ssh (LISTEN)
master  1508 root   13u  IPv4   24918      0t0  TCP localhost:smtp (LISTEN)
master  1508 root   14u  IPv6   24919      0t0  TCP localhost:smtp (LISTEN)
sshd    6170 root    3u  IPv4 2573749      0t0  TCP muyang:ssh->129.184.157.101:onbase-dds (ESTABLISHED)
sshd    6170 root    8u  IPv6 2573792      0t0  TCP localhost:x11-ssh-offset (LISTEN)
sshd    6170 root    9u  IPv4 2573793      0t0  TCP localhost:x11-ssh-offset (LISTEN)
sshd    7735 root    3u  IPv4 2586301      0t0  TCP muyang:ssh->129.184.157.101:gtaua (ESTABLISHED)
sshd    7735 root    8u  IPv6 2586334      0t0  TCP localhost:6011 (LISTEN)
sshd    7735 root    9u  IPv4 2586335      0t0  TCP localhost:6011 (LISTEN)

10.根据文件描述列出对应的文件信息

要列出进程 ID 为 1234 的进程打开的文件描述符为 3 的文件信息,可以使用以下命令:

[root@muyang ~]# lsof -p 1234 -d 3
COMMAND    PID    USER   FD      TYPE             DEVICE SIZE/OFF      NODE NAME
systemd      1    root    3u  a_inode               0,10        0      6415 [timerfd]
systemd-j  384    root    3u     unix 0xffff8c2434ce9100      0t0      9487 /run/systemd/journal/stdout
lvmetad    402    root    3u     unix 0xffff8c2434cef700      0t0     13448 /run/lvm/lvmetad.socket
systemd-u  421    root    3u     unix 0xffff8c2434cefb40      0t0     13478 /run/udev/control
auditd     570    root    3u  netlink                         0t0     14286 AUDIT
audispd    572    root    3u     unix 0xffff8c2434ceaa80      0t0     14288 socket
rtkit-dae  601   rtkit    3u     sock                0,7      0t0     17124 protocol: UNIX
udisksd    602    root    3u     unix 0xffff8c2335d96e80      0t0     17223 socket
rpcbind    603     rpc    3u     unix 0xffff8c24396561c0      0t0     15767 /var/run/rpcbind.sock
……

11. 列出 1 号进程打开的文件

[root@muyang local]# lsof -p 1
COMMAND PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd   1 root  cwd       DIR              253,3      238         64 /
systemd   1 root  rtd       DIR              253,3      238         64 /
……
systemd   1 root    1u      CHR                1,3      0t0       1028 /dev/null
systemd   1 root    2u      CHR                1,3      0t0       1028 /dev/null
systemd   1 root    3u  a_inode               0,10        0       6415 [timerfd]
systemd   1 root    4u  a_inode               0,10        0       6415 [eventpoll]
systemd   1 root    5u  a_inode               0,10        0       6415 [signalfd]
systemd   1 root    6r      DIR               0,21        0       9228 /sys/fs/cgroup/systemd
systemd   1 root    7u  a_inode               0,10        0       6415 [timerfd]
systemd   1 root    8u  netlink                         0t0      10996 KOBJECT_UEVENT
systemd   1 root    9r      REG                0,3        0       9460 /proc/1/mountinfo
systemd   1 root   10r  a_inode               0,10        0       6415 inotify
systemd   1 root   11r      REG                0,3        0 4026532019 /proc/swaps
systemd   1 root   12u     unix 0xffff8c2434cef2c0      0t0      10129 /run/systemd/private
systemd   1 root   13u     unix 0xffff8c243783c400      0t0      27380 /run/systemd/journal/stdout

总结

lsof 功能覆盖文件检索、进程排查、网络连接监测等核心运维场景,参数简洁、查询精准,可高效定位端口占用、文件占用、网络连接异常等问题。熟练掌握各类实操命令,能够帮助运维人员快速排查系统故障、分析进程资源状态,是 Linux 日常运维、性能调优与问题诊断的必备工具。

以上关于Linux lsof 命令详解:进程与文件监控实战的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Linux lsof 命令详解:进程与文件监控实战