lsof,list open files,列出打开的文件
因为在Linux的哲学艺术在于一切皆文件,所以不管是普通文件,还是套接字等都表征为一个文件,对于网络连接等也可以通过该命令查看
关于更多每一列的详细信息请参考man手册。
常用参数
-i select IPv[46] files
-n no host names
-P no port names
-U select Unix socket
-d select by FD set
-c cmd
-p select PIDs
基本用法
# 列出指定进程号打开的文件
sudo lsof -p 1
# 显示指定文件描述符的进程
sudo lsof -d 1
# 查看指定端口的状态
sudo lsof -i :22 -n -P
# 查看所有的网络连接
sudo lsof -i -P -n
# 查看所有的tcp链接
sudo ldof -i tcp
# 查看所有的udp连接
sudo lsof -i udp
# 查看指定端口情况
sudo lsof -i :81
# 查看指定用户的网络连接tcp/udp情况
sudo lsof -a -u root -i
# 查看某个程序打开的文件信息
sudo lsof -c ttyd
# 查看指定pid打开的文件
sudo lsof -p 1