lsof (list open files) 是一个常用的 Linux 命令之一,它可以列出系统打开的文件和网络连接,并提供了多种操作选项
lsof (list open files) 是一个常用的 Linux 命令之一,它可以列出系统打开的文件和网络连接,并提供了多种操作选项。
简单使用
列出所有打开的文件和网络连接:
lsof
列出指定进程打开的文件和网络连接:
lsof -p <pid>
列出指定用户打开的文件和网络连接:
lsof -u <user>
列出指定文件名打开的进程:
lsof <filename>
高级选项
列出指定类型的文件:
lsof -i # 列出所有网络连接
lsof -i tcp # 列出所有 TCP 连接
lsof -i udp # 列出所有 UDP 连接
lsof -i :80 # 列出所有占用 80 端口的连接
lsof -U # 列出所有 Unix 域套接字
查看某个目录下被打开的文件:
lsof +D /path/to/dir # 列出 /path/to/dir 目录下被打开的文件
查看某个文件系统被哪些进程使用:
lsof /mnt/filesystem # 列出挂载在 /mnt/filesystem 上的文件系统上被哪些进程使用
根据文件描述符查找进程:
lsof -d <fd> # 查找使用某个文件描述符的进程
lsof -d /path/to/file # 查找使用某个文件描述符并打开了指定文件的进程
列出指定用户或进程占用文件大小:
lsof -u <username> | awk '{total += $8} END {print total/1024" MB"}' # 列出指定用户占用文件总大小
lsof -p <pid> | awk '{total += $7} END {print total/1024" MB"}' # 列出指定进程占用文件总大小
列出所有的网络连接
lsof -i
查看指定端口22的pid
lsof -i :22
查看指定用户打开的应用信息
lsof -u root
显示所有打开的文件
以上是 lsof 命令的一些常见用法,它在系统管理和调试中都非常有用。需要注意的是,lsof 命令需要 root 权限或者具有相应权限的用户才能运行。
本文作者:Journey&Flower
本文链接:https://www.cnblogs.com/JourneyOfFlower/p/17435203.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通