当前位置: 首页 > Linux

linux中lsof的使用方法

时间:2023-04-07 01:50:15 Linux

linux中有哪些文件?普通文件、目录符号链接、面向块的设备文件、面向字符的设备文件、管道和命名管道、套接字、当前系统中所有打开的文件>lsofCOMMANDPIDTIDUSERFDTYPEDEVICESIZE/OFFNODENAMEsystemd1rootcwdDIR253,128864/lsof显示的结果从左到右依次为:打开文件的程序名、进程id、用户、文件描述符、文件类型、设备、大小、iNode号、文件名。列出被删除但占用空间的文件在生产环境中,我们可能会使用df命令看到磁盘空间已满,但实际上很难找到占用空间的文件。这往往是因为一个大文件被删除了,但是被某个进程打开了,导致用普通的方法查不到,最常见的就是日志文件。我们可以通过lsof找到这样的文件:>lsof|grepdeletedvpnserver1490root19wREG253,139128767033819714/root/rumenz.log(deleted)可以看到这些已删除但仍然打开的文件,最后找出时间,将其标记为已删除。这时候可以根据实际情况分析,可能是哪些文件过大而被删除了,导致空间还是满的。检查当前文件被第一个终端打开的进程>virumenz.sh第二个终端>tail-frumenz.sh第三个终端>lsofrumenz.shCOMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEtail28731hyb3rREG8,15228138441rumenz.sh没有找到vi打开的rumenz.sh,这是因为vi打开了一个临时拷贝>lsof|greprumenz.sh这样我们就找到了两个程序和rumenz.sh文件相关。查看某个目录文件的打开情况>lsof+D./递归显示该目录下进程打开的文件>lsof+d/usr/local/查看当前进程打开了哪些文件>lsof-c进程名查看某个端口占用>lsof-i:6379查看所有TCP/UDP连接>lsof-itcp查看某个用户打开了哪些文件>lsof-urumenz显示该进程通过某个进程号打开的文件>lsof-p12345原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门