关于linux:Linux之lsof命令
【Linux常用命令速查手册】关注【入门小站】,后盾回复 「1001」 自取。 lsof(list open files)是一个查看以后系统文件的工具。在linux环境下,任何事物都以文件的模式存在,通过文件不仅仅能够拜访惯例数据,还能够拜访网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协定 (UDP) 套接字等,零碎在后盾都为该应用程序调配了一个文件描述符,该文件描述符提供了大量对于这个应用程序自身的信息。 装置lsofCentos > yum install lsof -yUbuntu > sudo apt-get install lsof -y命令格局lsof [参数][文件] 命令性能用于查看你过程开打的文件,关上文件的过程,过程关上的端口(TCP、UDP)。找回/复原删除的文件。是非常不便的零碎监督工具,因为lsof须要拜访外围内存和各种文件,所以须要root用户执行。lsof关上的文件能够是:1.一般文件2.目录3.网络文件系统的文件4.字符或设施文件5.(函数)共享库6.管道,命名管道7.符号链接8.网络文件(例如:NFS file、网络socket,unix域名socket)9.还有其它类型的文件,等等命令参数-a 列出关上文件存在的过程-c<过程名> 列出指定过程所关上的文件-g 列出GID号过程详情-d<文件号> 列出占用该文件号的过程+d<目录> 列出目录下被关上的文件+D<目录> 递归列出目录下被关上的文件-n<目录> 列出应用NFS的文件-i<条件> 列出符合条件的过程。(4、6、协定、:端口、 @ip )-p<过程号> 列出指定过程号所关上的文件-u 列出UID号过程详情-h 显示帮忙信息-v 显示版本信息列出零碎所有关上的文件> lsof | more 会有很多数据, 下面只截取了一部分字段阐明COMMAND:过程的名称PID:过程标识符PPID:父过程标识符(须要指定-R参数)USER:过程所有者PGID:过程所属组FD:文件描述符,应用程序通过文件描述符辨认该文件。如cwd、txt等TYPE:文件类型,如DIR、REG等,常见的文件类型 (1)DIR:示意目录(2)CHR:示意字符类型(3)BLK:块设施类型(4)UNIX: UNIX 域套接字(5)FIFO:先进先出 (FIFO) 队列(6)IPv4:网际协议 (IP) 套接字DEVICE:指定磁盘的名称SIZE:文件的大小NODE:索引节点(文件在磁盘上的标识)NAME:关上文件的确切名称FD 阐明 查看/bin/bash被谁占用> lsof /bin/bashCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEbash 14443 root txt REG 253,1 960392 140072 /usr/bin/bash递归查看当前目录文件信息> lsof .COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEbash 14443 root cwd DIR 253,1 4096 131073 .lsof 16522 root cwd DIR 253,1 4096 131073 .lsof 16523 root cwd DIR 253,1 4096 131073 .子目录文件占用状况也显示进去> lsof +D .COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEbash 14443 root cwd DIR 253,1 4096 131073 .lsof 16426 root cwd DIR 253,1 4096 131073 .lsof 16427 root cwd DIR 253,1 4096 131073 .YDService 17532 root 27r REG 253,1 79613 131087 ./.bash_history不应用+D选项,遍历查看某个目录的所有文件信息的办法> lsof | grep "rumenz/temp"列出某个用户关上的文件信息> lsof -u root | more ...