可锐资源网

技术资源分享平台,提供编程学习、网站建设、脚本开发教程

Linux中的lsof命令详解

Linux学习笔记总结(九十)- Linux中的lsof命令详解

熟悉linux 的朋友都知道,在linux系统中,一切皆文件,任何事物都以文件的形式存在。普通文件是文件,目录是文件,硬件设备也是文件(键盘、监视器、硬盘、打印机等),就连网络通信也都是文件。

任何进程在打开文件时,都会向内核申请一个文件描述符,该描述符为进程和操作系统之间的交互提供了通用接口。我可通过lsof命令查看这些信息。

lsof命令可以列出系统打开的所有的文件,当然不同的用户查看到的信息是不一样的,如果要查看所有完整的信息,那就要使用root用户的权限来执行lsof命令。

各列含义:

COMMAND:进程的名称

PID:进程标识符

USER:进程所有者

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等

TYPE:文件类型,如DIR、REG等

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的确切名称

lsof命令语法格式:

lsof [参数][文件]

常用参数:

-a:列出打开文件存在的进程

lsof –a –u know_action

-c <进程名>:列出指定进程打开的文件信息

sudo lsof -d bash

-g:列出GID号的进程信息

-d<文件号>:列出占用该文件号的进程

sudo lsof -d cwd

注:

0表示标准输入,1表示标准输出,2表示标准错误,应用程序所打开的文件的FD都是从3开始。

+d<目录>:列出该目录下被打开的文件

sudo lsof +d /usr/lib/x86_64-linux-gnu/gconv

+D<目录>:递归列出目录下被打开的文件

sudo lsof +D /dev/

-i<条件>:列出符合条件的进程

sudo lsof -i:22#tcp:80;UDP:53

-p<进程号>:列出指定进程号所打开的文件

sudo lsof -p 861

-u:列出UID号进程详情

sudo lsof -u 1001

-h:显示帮助信息

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言