lsof
lsof
概述
lsof(list open files)是一个列出当前系统已打开文件的工具。通过文件不仅可以访问常规数据,还可以访问网络连接和硬件,如传输控制协议(TCP)和用户数据报协议(UDP)套接字等。系统在后台都为该应用程序分配了一个文件描述符,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。
lsof打开的文件如下:普通文件、目录、网络文件系统的文件、字符或设备文件、(函数)共享库、管道/命名管道、符号链接、网络文件等。
命令介绍
■COMMAND:进程的名称。
■PID:进程标识符。
■USER:进程所有者。
■FD:文件描述符,应用程序通过文件描述符识别该文件。
■TYPE:文件类型。
■DEVICE:指定磁盘的名称。
■SIZE:文件的大小。
■NODE:索引节点(文件在磁盘上的标识)。
■NAME:打开文件的确切名称。
功能测试
■执行lsof -u username命令,列出某个用户打开的文件信息。

:::note -u选项中的u其实是user的缩写。 :::
■执行lsof -c apache命令,列出某个程序进程所打开的文件信息。
■执行lsof -c mysql -c apache命令,列出多个进程打开的多个文件信息。
■执行lsof -u test -c mysql命令,列出某个用户以及某个进程所打开的文件信息。
■执行lsof -u ^root命令,列出除了某个用户外的被打开的文件信息。

:::note ^这个符号在用户名之前,表示不显示该用户打开的进程。 :::
■执行lsof -p 1命令,列出某个进程号所打开的文件信息。
■执行lsof -p 1,2,3命令,列出多个进程号对应的文件信息。
■执行lsof -p ^1命令,列出除了某个进程号,其他进程号所打开的文件信息。
■执行lsof -i命令,列出所有的网络连接。
■执行lsof -i tcp命令,列出所有tcp网络连接信息。
No comments to display
No comments to display