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


嘿我好像见过你
嘿我好像见过你 2023-11-27 11:27:33 64924
分类专栏: 资讯

本文主要介绍: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)

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=28998
赞同 0
评论 0 条
嘿我好像见过你L1
粉丝 0 发表 12 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1325
银河麒麟打印带有图像的文档时出错  1238
银河麒麟添加打印机时,出现“server-error-internal-error”  1025
统信桌面专业版【如何查询系统安装时间】  953
统信操作系统各版本介绍  946
统信桌面专业版【全盘安装UOS系统】介绍  905
麒麟系统也能完整体验微信啦!  892
统信【启动盘制作工具】使用介绍  501
统信桌面专业版【一个U盘做多个系统启动盘】的方法  443
信刻全自动档案蓝光光盘检测一体机  389
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!