暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

lsof命令使用

星河 2025-02-06
43

lsof 是一个非常强大的工具,用于列出系统中打开的文件(包括网络连接、设备、管道等)。以下是一些常用的 lsof 组合命令及其用途:


1. 列出某个用户打开的文件

lsof -u username
复制
  • 用途: 显示指定用户(username)打开的所有文件。

  • 示例: lsof -u root 列出 root 用户打开的文件。


2. 列出某个进程打开的文件

lsof -p PID
复制
  • 用途: 显示指定进程 ID(PID)打开的所有文件。

  • 示例: lsof -p 1234 列出进程 ID 为 1234 的文件。


3. 列出某个端口相关的连接

lsof -i :端口号
复制
  • 用途: 显示与指定端口相关的网络连接。

  • 示例: lsof -i :80 列出所有与端口 80 相关的连接。


4. 列出所有网络连接

lsof -i
复制
  • 用途: 显示所有网络连接(TCP/UDP)。

  • 示例: lsof -i 列出所有网络连接。


5. 列出某个协议的网络连接

lsof -i TCP
lsof -i UDP
复制
  • 用途: 显示指定协议(TCP 或 UDP)的网络连接。

  • 示例: lsof -i TCP 列出所有 TCP 连接。


6. 列出某个文件被哪些进程打开

lsof /path/to/file
复制
  • 用途: 显示打开指定文件的进程。

  • 示例: lsof /var/log/syslog 列出打开 /var/log/syslog 的进程。


7. 列出某个目录被哪些进程打开

lsof +D /path/to/directory
复制
  • 用途: 显示打开指定目录的进程。

  • 示例: lsof +D /var/log 列出打开 /var/log 目录的进程。


8. 列出所有 IPv4 或 IPv6 连接

lsof -i 4  # IPv4
lsof -i 6  # IPv6
复制
  • 用途: 显示所有 IPv4 或 IPv6 的网络连接。

  • 示例: lsof -i 4 列出所有 IPv4 连接。


9. 列出某个命令打开的文件

lsof -c 进程名
复制
  • 用途: 显示指定进程名打开的文件。

  • 示例: lsof -c nginx 列出所有 nginx 进程打开的文件。


10. 列出所有监听端口

lsof -i -sTCP:LISTEN
复制
  • 用途: 显示所有正在监听的端口。

  • 示例: lsof -i -sTCP:LISTEN 列出所有监听状态的连接。


11. 列出某个用户的所有网络连接

lsof -u username -i
复制
  • 用途: 显示指定用户的所有网络连接。

  • 示例: lsof -u root -i 列出 root 用户的所有网络连接。



12.列出所有打开文件的进程

lsof | more
复制
  • 用途: 列出系统中所有打开的文件(按需分页显示)。

  • 示例: lsof | more 分页显示所有打开的文件。


13. 列出某个设备打开的文件

lsof /dev/sda1
复制
  • 用途: 显示打开指定设备的进程。

  • 示例: lsof /dev/sda1 列出打开 /dev/sda1 的进程。


14. 列出所有已删除但仍被打开的文件

lsof | grep deleted
复制
  • 用途: 显示已被删除但仍被进程占用的文件。

  • 示例: lsof | grep deleted 列出所有已删除但仍被打开的文件。


15. 组合查询

lsof -i TCP:80 -u root
复制
  • 用途: 显示 root 用户打开的所有 TCP 端口 80 的连接。

  • 示例: lsof -i TCP:80 -u root 列出 root 用户的所有 TCP 80 端口连接。


16. 显示文件的详细信息

lsof -t /path/to/file
复制
  • 用途: 仅显示打开指定文件的进程 ID(PID)。

  • 示例: lsof -t /var/log/syslog 显示打开 /var/log/syslog 的进程 ID。


17. 列出所有打开的网络文件和设备

lsof -i -n -P
复制
  • 用途: 列出所有网络连接,禁用主机名和端口号解析。

  • 示例: lsof -i -n -P 列出所有网络连接,直接显示 IP 和端口号。


18. 列出某个文件系统的打开文件

lsof +f -- /path/to/filesystem
复制
  • 用途: 显示指定文件系统中打开的文件。

  • 示例: lsof +f -- / 列出根文件系统中打开的文件。


19. 列出所有打开的日志文件

lsof /var/log
复制
  • 用途: 显示所有打开的日志文件。

  • 示例: lsof /var/log 列出 /var/log 目录下所有打开的文件。


20. 杀死占用某个端口的进程

kill -9 $(lsof -t -i :端口号)
复制
  • 用途: 杀死占用指定端口的进程。

  • 示例: kill -9 $(lsof -t -i :8080) 杀死占用端口 8080 的进程。


总结

lsof 的常用组合命令可以帮助你快速定位文件、网络连接、进程等信息。根据具体需求选择合适的组合即可。如果需要更详细的信息,可以查看 man lsof 或运行 lsof -h 获取帮助。

最后修改时间:2025-02-06 14:39:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论