lsof

lsof ( list opened files )用于列出系统中已经打开的文件,包括普通文件,目录,块特殊文件,字符特殊文件,正在执行的文本引用,库,流或网络文件(例如:网络套接字,NFS文件或UNIX域套接字)。

lsof需要单独安装:yum install lsof

常用参数

  • -p pid : 输出指定进程打开的文件;
  • -l : 输出中使用ID代替用户名;
  • -u userName : 输出指定用户打开的文件;
  • -c string : 输出 COMMAND 列中包含 string 的项;
  • -d fd : 输出包含指定描述符的项;
  • fileName : 输出打开文件 fileName 的所有项;
  • -i [46] [protocol][@hostname|hostaddr][:service|port] : 输出符合指定条件的项,其中:
    • 46 :分别指 IPv4、IPv6;
    • protocol :指 TCP 或 UDP;
    • hostname : 网络主机名;
    • hostaddr : IP 地址;
    • service : 包含在 /etc/services 中的名称;
    • port : 端口号,可以是多个;

示例

列出 pid 6076 进程打开的文件

lsof -p 6076

输出用户打开的文件

lsof -u root

查看网络连接

lsof -i # 查看所有网络连接 
lsof -i:22  #查看端口连接情况

查看指定进程打开的网络连接

lsof -i -a -p 1605




返回软件开发辅助网 | 常用命令列表

shell语法手册