Linux lsof命令:列出打开的文件。
Linux lsof命令 功能描述
使用lsof命令可以列出打开的文件,这个文件可以是一个普通文件、目录、块设备文件或字符设备文件。
Linux lsof命令 语法
lsof [选项] [名称]
命令中各选项的含义如表所示。
lsof命令输出字段描述如表所示。
Linux lsof命令 示例
列出所有进程打开的所有文件
[root@rhel ~]# lsof
查找使用端口号22的进程
[root@rhel ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 2216 root 3u IPv4 14923 0t0 TCP*:ssh(LISTEN)
sshd 2216 root 4u IPv6 14928 0t0 TCP*:ssh(LISTEN)
查找用户root的所有网络连接
[root@rhel ~]# lsof -a -u root -i
查找以httpd开头的进程打开的所有文件
[root@rhel ~]# lsof -c httpd
列出所有以描述符2打开的文件
[root@rhel ~]# lsof -d 2
列出所有网络连接
[root@rhel ~]# lsof -i
列出所有的TCP网络连接
[root@rhel ~]# lsof -i tcp
列出所有对应组群GID为0的进程
[root@rhel ~]# lsof -g 0
列出所有由PID为1对应的进程打开的文件
[root@rhel ~]# lsof -p 1
列出用户root打开的所有文件
[root@rhel ~]# lsof -u root
列出所有NFS(网络文件系统)文件
[root@rhel ~]# lsof -N
列出使用/lib64/ld-2.12.so文件的进程
[root@rhel ~]# lsof /lib64/ld-2.12.so
递归查找/usr/lib目录中所有打开的文件
[root@rhel ~]# lsof +D /usr/lib
循环列出文件,每秒钟重复显示一次
[root@rhel ~]# lsof -r 1