Linux 命令:lsof(列出打开的文件)

1. 写在前面

本文主要介绍:Linux “lsof” 命令;

公众号: 滑翔的纸飞机

2. lsof 命令

lsof 命令是 "List Open Files(列出打开的文件)"的缩写,用于显示打开的文件以及使用这些文件的进程。

在 Linux 中,一切都以文件的形式存在。有时,特别是为了排除故障,我们需要知道当前哪些进程使用了哪些文件,还可以查看系统中某些网络连接打开的文件等。

root@dev:~# lsof | more
COMMAND       PID     TID TASKCMD               USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd         1                               root  cwd       DIR              252,1      4096          2 /
systemd         1                               root  rtd       DIR              252,1      4096          2 /
systemd         1                               root  txt       REG              252,1   1620224      73069 /usr/lib/systemd/systemd
systemd         1                               root  mem       REG              252,1   1369384       4750 /usr/lib/x86_64-linux-gnu/libm-2.31.so
systemd         1                               root  mem       REG              252,1    178528       2927 /usr/lib/x86_64-linux-gnu/libudev.so.1.6.17
systemd         1                               root  mem       REG              252,1   1575112       4547 /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0
systemd         1                               root  mem       REG              252,1    137584       3750 /usr/lib/x86_64-linux-gnu/libgpg-error.so.0.28.0
systemd         1                               root  mem       REG              252,1     67912       4571 /usr/lib/x86_64-linux-gnu/libjson-c.so.4.0.0

接下去,让我们来看看 lsof 命令的一些重要选项。

2.1 按用户名过滤打开的文件夹

按用户名过滤打开的文件:

root@dev:~# lsof -u root
COMMAND       PID   USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd     23028 bolean  cwd       DIR              252,1     4096          2 /
systemd     23028 bolean  rtd       DIR              252,1     4096          2 /
systemd     23028 bolean  txt       REG              252,1  1620224      73069 /usr/lib/systemd/systemd
systemd     23028 bolean  mem       REG              252,1  1369384       4750 /usr/lib/x86_64-linux-gnu/libm-2.31.so
systemd     23028 bolean  mem       REG              252,1   178528       2927 /usr/lib/x86_64-linux-gnu/libudev.so.1.6.17
systemd     23028 bolean  mem       REG              252,1  1575112       4547 /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0
systemd     23028 bolean  mem       REG              252,1   137584       3750 /usr/lib/x86_64-linux-gnu/libgpg-error.so.0.28.0
systemd     23028 bolean  mem       REG              252,1    67912       4571 /usr/lib/x86_64-linux-gnu/libjson-c.so.4.0.0
systemd     23028 bolean  mem       REG              252,1    34872       3489 /usr/lib/x86_64-linux-gnu/libargon2.so.1
systemd     23028 bolean  mem       REG              252,1   431472       7146 /usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02.1

除特定用户名外过滤打开的文件(反向):

root@dev:~# lsof -u ^root
COMMAND       PID     TID TASKCMD               USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd         1                               root  cwd       DIR              252,1      4096          2 /
systemd         1                               root  rtd       DIR              252,1      4096          2 /
systemd         1                               root  txt       REG              252,1   1620224      73069 /usr/lib/systemd/systemd
systemd         1                               root  mem       REG              252,1   1369384       4750 /usr/lib/x86_64-linux-gnu/libm-2.31.so
systemd         1                               root  mem       REG              252,1    178528       2927 /usr/lib/x86_64-linux-gnu/libudev.so.1.6.17
systemd         1                               root  mem       REG              252,1   1575112       4547 /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0
systemd         1                               root  mem       REG              252,1    137584       3750 /usr/lib/x86_64-linux-gnu/libgpg-error.so.0.28.0
systemd         1                               root  mem       REG              252,1     67912       4571 /usr/lib/x86_64-linux-gnu/libjson-c.so.4.0.0

2.2 按特定进程过滤打开的文件

按特定进程过滤打开的文件:

root@dev:~# lsof -c containerd
COMMAND       PID USER   FD      TYPE             DEVICE SIZE/OFF     NODE NAME
container     713 root  cwd       DIR              252,1     4096        2 /
container     713 root  rtd       DIR              252,1     4096        2 /
container     713 root  txt       REG              252,1 52007976     3761 /usr/bin/containerd
container     713 root  mem-W     REG              252,1  2097152   516163 /var/lib/containerd/io.containerd.metadata.v1.bolt/meta.db
container     713 root  mem       REG              252,1  2029592     4745 /usr/lib/x86_64-linux-gnu/libc-2.31.so
container     713 root  mem       REG              252,1   157224     4761 /usr/lib/x86_64-linux-gnu/libpthread-2.31.so

2.3 根据进程 ID 过滤打开的文件

根据进程 ID 过滤打开的文件:

root@dev:~# lsof -p 713
COMMAND   PID USER   FD      TYPE             DEVICE SIZE/OFF     NODE NAME
container 713 root  cwd       DIR              252,1     4096        2 /
container 713 root  rtd       DIR              252,1     4096        2 /
container 713 root  txt       REG              252,1 52007976     3761 /usr/bin/containerd
container 713 root  mem-W     REG              252,1  2097152   516163 /var/lib/containerd/io.containerd.metadata.v1.bolt/meta.db

2.4 按目录过滤打开的文件

按目录过滤打开的文件:

root@dev:~# lsof +D /usr/bin
COMMAND       PID          USER  FD   TYPE DEVICE SIZE/OFF  NODE NAME
dbus-daem     688    messagebus txt    REG  252,1   249032  1680 /usr/bin/dbus-daemon
networkd-     695          root txt    REG  252,1  5494584  2969 /usr/bin/python3.8
container     713          root txt    REG  252,1 52007976  3761 /usr/bin/containerd

2.5 按网络连接过滤打开的文件

按网络连接过滤打开的文件:

root@dev:~# lsof -i 
COMMAND       PID            USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
systemd-n     630 systemd-network   17u  IPv4 29112968      0t0  UDP redis:bootpc 
systemd-r     634 systemd-resolve   12u  IPv4    20104      0t0  UDP localhost:domain 
systemd-r     634 systemd-resolve   13u  IPv4    20105      0t0  TCP localhost:domain (LISTEN)
sshd          756            root    3u  IPv4    22042      0t0  TCP *:ssh (LISTEN)

2.6 按端口过滤打开的文件

按端口过滤打开的文件:

root@dev:~# lsof -i :22
COMMAND     PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd        756   root    3u  IPv4    22042      0t0  TCP *:ssh (LISTEN)
sshd        756   root    4u  IPv6    23092      0t0  TCP *:ssh (LISTEN)
sshd    1251251   root    4u  IPv4 30406337      0t0  TCP redis:ssh->10.20.0.6:52875 (ESTABLISHED)
sshd    1277315   root    4u  IPv4 30561119      0t0  TCP redis:ssh->10.20.0.6:53199 (ESTABLISHED)

2.7 按协议过滤打开的文件

按协议过滤打开的文件:

root@dev:~# lsof -i TCP
COMMAND       PID            USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
systemd-r     634 systemd-resolve   13u  IPv4    20105      0t0  TCP localhost:domain (LISTEN)
sshd          756            root    3u  IPv4    22042      0t0  TCP *:ssh (LISTEN)
sshd          756            root    4u  IPv6    23092      0t0  TCP *:ssh (LISTEN)
感谢您花时间阅读文章
关注公众号不迷路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/144515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vite 样式按需加载

用于按需引入组件库样式的插件。 vite-plugin-impvite-plugin-style-import 以上两个插件可以实现按需引入组件库样式,尝试后发现vite-plugin-imp这个插件目前有个问题是,它支持按照组件动态引入组件内部的样式,但是antd还定义了一些全局样…

拜耳阵列(Bayer Pattern)以及常见彩色滤波矩阵(CFA)

一、拜耳阵列的来源 图像传感器将光线转化成电流,光线越亮,电流的数值就越大;光线越暗,电流的数值就越小。图像传感器只能感受光的强弱,无法感受光的波长。由于光的颜色由波长决定,所以图像传播器无法记录…

【JUC】八、阻塞队列

文章目录 1、阻塞队列概述2、阻塞队列分类3、 阻塞队列的四组核心方法4、Demo 队列,先进先出,类似排队栈,先进后出,用于要优先处理最近发生的事件的场景 1、阻塞队列概述 阻塞队列,一个生产消费模式,当&a…

LCD智能婴幼儿秤pcba方案

LCD智能婴幼儿秤采用SIC8833芯片开发设计,内置程序搭载称重算法,配合高精度传感器,能够准确测量出宝宝体重。并且秤台有身高标识,能够测量幼儿的身高。通过蓝牙上传云端APP,实时记录幼儿状态。 一、LCD智能婴幼儿秤方案…

【机器学习8】采样

1 均匀分布随机数 均匀分布是指整个样本空间中的每一个样本点对应的概率(密度) 都是相等的。 根据样本空间是否连续, 又分为离散均匀分布和连续均匀分布。编程实现均匀分布随机数生成器一般可采用线性同余法(Linear Congruential…

防爆五参数气象仪的科技力量

WX-FBQ2 随着科技的不断进步,气象监测设备也在不断升级和完善。 防爆五参数气象仪是一种可以同时监测温度、湿度、压力、风速和风向五个基本气象参数的仪器。它采用了气象监测技术,不仅可以实时监测气象数据,还可以对数据进行分析和处理。 …

所见即所得的动画效果:Animate.css

我们可以在集成Animate.css来改善界面的用户体验,省掉大量手写css动画的时间。 官网:Animate.css 使用 1、安装依赖 npm install animate.css --save2、引入依赖 import animate.css;3、在项目中使用 在class类名上animate__animated是必须的&#x…

轻松预览:Axure RP在线原型展示指南,快速掌握!

当UI设计师想要提供功能和细节丰富的原型时,可以使用原型设计工具预览Axure原型。原型设计工具Axurerp作为线框图和原型制作工具的创始人,功能非常强大。取代Axure的国产原型设计工具即时设计,界面布局清新,非常适合复杂的原型设计…

黑马程序员微服务 第五天课程 分布式搜索引擎2

分布式搜索引擎02 在昨天的学习中,我们已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以今天,我们研究下elasticsearch的数据搜索功能。我们会分别使用DSL和Res…

【KCC@南京】KCC南京数字经济-开源行

一场数字经济与开源的视听盛宴,即将于11月26日,在南京举办。本次参与活动的有: 庄表伟(开源社理事执行长、天工开物开源基金会执行副秘书长)、林旅强Richard(开源社联合创始人、前华为开源专家)…

QtC++与QTableView详解

介绍 QTableView 是 Qt 框架中用于显示表格数据的视图控件,它是 QAbstractItemView 类的子类。QTableView 通常与 QStandardItemModel 或者自定义的数据模型一起使用,用于展示二维表格型数据。以下是对 QTableView 的详细讲解和在 Qt 中的作用&#xff…

如何构建风险矩阵?3大注意事项

风险矩阵法(RMA)是确定威胁优先级别的最有效工具之一,可以帮助项目团队识别和评估项目中的风险,帮助项目团队对风险进行排序,清晰地展示风险的可能性和严重性,为项目团队制定风险管理策略提供依据。 如果没…

Word或者WPS批量调整文中图片大小的快捷方法

文章目录 0、前言1、编写宏代码2、在文档中调用宏实现一键批量调整3、就这么简单! 0、前言 不知道大家是不是也和我一样,经常需要在编写的Word(或者WPS)文档里插入大量的图片,但是这些图片的尺寸大小一般都不一样&…

信创之路数据库人大金仓篇

概要 信创大势所趋,吾等上下求索 参考文档 Linux:人大金仓数据库-KingBaseES V8与 php7的连接配置 laravel9适配人大金仓(kingbase)数据库 thinkphp6适配人大金仓(Kingbase)数据库 数据库选型 目前比较…

Django(七、模型层)

文章目录 模型层模型层前期准备使用django ORM要注意 代码演示:切换MySQL数据库如何查看django ORM 底层原理? 单表操作模型层之ORM常见关键字基础的增删改查常用的关键字 常见的十几种查询基于双下滑线的查询 模型层 模型层前期准备 使用django ORM要…

ATE测试工程师的薪资前景如何?能转DFT工程师吗?

在芯片行业,ATE测试工程师扮演着至关重要的角色。他们不仅需要理解电路和芯片内部的工作原理,还需要利用各种测试工具和方法对芯片进行精确的测试和分析。那么ATE测试工程师前景如何?需要具备哪些技能要求呢? 首先来了解什么是AT…

【技巧】Windows 11 如何安装日文语言包和日文系统

Windows 11 如何安装日文语言包和日文系统 安装日语语言第一步:打开系统设置第二步:选择【时间和语言】选项第三步:点击【添加语言】按钮第四步:输入语言,并选择第五步:安装输入法/语言包第六步&#xff1a…

电池故障估计:Realistic fault detection of li-ion battery via dynamical deep learning

昇科能源、清华大学欧阳明高院士团队等的最新研究成果《动态深度学习实现锂离子电池异常检测》,用已经处理的整车充电段数据,分析车辆当前或近期是否存在故障。 思想步骤: 用正常电池的充电片段数据构造训练集,用如下的方式构造…

php在线审稿系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp

一、源码特点 php在线审稿系统是一套完善的web设计系统mysql数据库 ,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php在线审稿系统 代码 https://download.csdn.net/download/qq_41221322/885…

如何提高说服力?

说服力绝对不是吵架,不是谁的嗓门大就赢,这里说的说服力更多是基于丰富的知识,理论和超强的逻辑表达能力,除了从“理”的角度起到说服效果,更需要从影响和权威的角度产生信服。 说服力和影响力的测评,主要…