106.lsof
lsof 是 linux 下的一个非常实用的系统级的监控、诊断工具。它是 List Open Files的缩写。
使用 lsof,你可以获取任何被打开文件的各种信息,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。
-c选项+命令名称,使用这个选项可以查找指定命令所使用的文件
例1:查看sftp使用的文件
lsof -c sftp
如图所示,sftp正在下载文件。因为没有使用root帐户执行,所以很多行提示权限拒绝。
例2:查看使用文件的进程
lsof DB02-20220520.xb.rar
-i选项,查看网络ipv4、ipv6打开的文件
例3:列出所有打开了的网络文件
lsof -i
例4:列出打开的ipv4网络文件
lsof -i 4
例5:列出打开的端口号22网络文件
lsof -i:22
类似的还可以按网络协议:
lsof -i TCP:22
按协议并且使一段端口号:
lsof -i TCP:1-1024
+D选项,列出指定目录下打开的文件
例6:列出当前目录下打开的文件
lsof +D ./
-p选项,查看指定pid进程打开的文件
例7:查看838进程打开的文件
lsof -p 838
-u选项,查看指定用户打开的文件
例8:查看allenle用户打开的文件
lsof -u allenle