目录
https://mp.weixin.qq.com/s/wledAJfBYMpgwYrNJVVGEw
1.lsof(list open files)
查看当前打开的所有文件
列出被删除但占用空间的文件
lsof |grep deleted
使用df命令看到磁盘空间占满了,而实际上又找不到占满空间的文件。是由于某个大文件被删除了,但它却被某个进程打开,导致通过普通的方式无法找到。
恢复打开但被删除的文件
查看当前文件被哪些进程打开
lsof 文件名
// 或者
lsof |grep 文件名
查看某个目录文件被打开情况
lsof +D ./
查看当前进程打开了哪些文件
1.通过进程名
lsof -c 进程名
2.通过进程id
lsof -p 进程id // 如果又多个进程id,则使用逗号分隔
查看端口被占用情况
lsof -i :端口号
// 或者:netstat -apn | grep 端口号 // 或者nc -l 端口号
查看tcp/udp连接
lsof -i tcp
这里的-i参数可以跟多种条件:
-i 4 #ipv4地址
-i 6 #ipv6地址
-i tcp #tcp连接
-i :3306 #端口
-i @ip #ip地址
因此需要查看与某个ip地址建立的连接时,可以使用下面的方式:
$ lsof -i@127.0.0.1
列出某个用户打开了哪些文件
lsof -u 用户名 // lsof -u katy
列出除了某个进程或某个用户打开的文件
lsof -p ^1 #列出除进程id为1的进程以外打开的文件
lsof -u ^root #列出除root用户以外打开的文件