天天看点

Linux 命令 - lsof: 列出打开的文件

lsof 是一个列出当前系统打开文件的工具。

命令格式

lsof  [  -?abChlnNOPRstUvVX  ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ +|-D D ] [ +|-f [cfgGn] ] [ -F [f] ] [ -g [s] ] [ -i [i] ] [ -k k ] [ +|-L [l] ] [ +|-m m ] [ +|-M ] [ -o [o] ] [ -p s ] [ +|-r [t] ] [ -S [t] ] [ -T [t] ] [ -u s ] [ +|-w ] [ -x [fl] ] [ -z [z] ] [ -Z [Z] ] [ -- ] [names]

命令参数

-? -h

  显示帮助信息

-c s

  列出程序 s 所打开的文件

-d s

  列出文件描述符为 s 的文件

+d s

  列出目录 s 下所有打开的文件

+D D

  递归列出目录 D 下所有打开的文件

-g [s]

  列出 PGID 为 s 的用户组所打开的文件

-i [46][protocol][@hostname|hostaddr][:service|port]

  列出所使用的网络地址符合条件的文件

-p s

  列出 PID 为 s 的进程所打开的文件

-u s

  列出用户 s 所打开的文件

实例

a) 列出系统当前所有被打开的文件

lsof      

b) 列出正在使用 /etc/hosts 的用户

lsof /etc/hosts      

c) 列出用户 huey 所打开的文件

lsof -u huey      

d) 列出既不是用户 root 也不是用户 huey 打开的文件

lsof -u ^root,^huey      

e) 列出程序 mysqld 所打开的文件

lsof -c mysqld      

 f) 列出 PID 为 2672 的进程所打开的文件

lsof -p 2672      

g) 列出所有使用网络连接的进程

lsof -i      

h) 列出所有 UDP 网络连接

lsof -i UDP      

i) 列出使用 8080 端口的进程

lsof -i:8080      

j) 列出被打开的文件描述符为 1 的文件

lsof -d 1      

转载于:https://www.cnblogs.com/huey/p/4435368.html

继续阅读