Linux命令之 lsof详解

简介:

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件(来源百度百科)。

lsof在查找进程占用的那些文件或pid号由那些文件发起的等方面作用很大;尤其在Linux系统被黑后的溯源工作上绝对可以称之为一个重量级的命令。

格式详解:

[[email protected] ~]# lsof -c httpd | head -5
COMMAND  PID   USER   FD   TYPE  DEVICE SIZE/OFF    NODE NAME
httpd   6083   root  cwd    DIR     8,2     4096       2 /
httpd   6083   root  rtd    DIR     8,2     4096       2 /
httpd   6083   root  txt    REG     8,3   355232  136356 /usr/sbin/httpd
httpd   6083   root  mem    REG     8,3    83088  667789 /usr/lib64/php/modules/zip.so

lsof输出各列信息的意义如下: 

COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

常用参数:

NAME
       lsof - list open files
SYNOPSIS
       lsof [ -?abChlnNOPRtUvVX ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ +|-D D ] [ +|-e s ] [ +|-f [cfgGn] ] [ -F [f] ] [ -g [s] ] [ -i [i]
       ] [ -k k ] [ +|-L [l] ] [ +|-m m ] [ +|-M ] [ -o [o] ] [ -p s ] [ +|-r [t[m<fmt>]] ] [ -s [p:s] ] [ -S [t] ] [ -T [t] ] [  -u  s  ]  [
       +|-w ] [ -x [fl] ] [ -z [z] ] [ -Z [Z] ] [ -- ] [names]

lsof dirname //查看哪些用户打开了这个目录

lsof -u username     //查看用户打开了哪些文件

lsof -g gid //查看归属gid的进程情况

lsof -i:22 //查看22端口由哪些进程发起

lsof -c httpd // 查看httpd进程打开了哪些文件

lsof -p 22166 // 查看进程号为22166的进程打开了哪些文件

时间: 2024-10-06 12:52:34

Linux命令之 lsof详解的相关文章

【转】Linux命令工具 top详解

Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制

Linux命令工具 top详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. 常在linux

每周一个linux命令之---uptime详解

每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的.既然每周一个了,就肯定不能拿ls,chmod这种命令来凑数了.降低数量,保障质量.与大家共勉. 进入正题 uptime 我们先来看一下命令执行结果 11:10:42 up 4 days, 19:23, 2 users, load average: 3.17, 3.45, 3.65 我们来分组解释一

Linux性能监控命令之lsof详解

1. lsof 命令介绍 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口.因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工

3.Linux命令基础及详解

在Linux下,我们很多操作都是通过命令来实现的,所接下来我们就详解介绍Linux下命令的使用.首先要使用命令就得先知道他的格式: Linux命令的语法格式是  command options arguments,其中选项和参数是可以省略的.Linux下面命令是有多种的,有系统自身的命令.安装的应用程序命令.脚本执行所用的命令. ls :list directory contents  用来列出目录内容的, ls /path/to/dir|file[路径]  dir是目录名    file文件名

linux命令之yum详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

使用cpu加速linux命令方法步骤详解 

我们都知道linux系统中 grep, bzip2, wc, awk, sed等等,都是单线程的,只能使用一个CPU内核.那么如何才能使用这些内核? 要想让Linux命令使用所有的CPU内核,我们需要用到GNU Parallel命令,它让我们所有的CPU内核在单机内做神奇的map-reduce操作,当然,这还要借助很少用到的–pipes 参数(也叫做–spreadstdin).这样,你的负载就会平均分配到各CPU上,真的. BZIP2 bzip2是比gzip更好的压缩工具,但它很慢!别折腾了,我

Linux命令之CP详解

嘿嘿,又一周过去了,大家过的怎么样呢,在这一周时间里,小编可是又学到不少新知识呢. 今天呢,小编就和大家分享一下Linux中我们常用的CP的命令,这里的cp可是copy的简写噢. (容我嘚瑟一下) 学过linux的都知道,在我们操作的过程中,我们常常会用到cp这个命令,比如cp一个文件呀,cp多个文件呀,cp一个目录呀等等.那我们cp不同的类型到底怎么用呢?别急,小编将会为你一一解开疑惑. (1)源:一个文件    目标:文件不存在. 那么将会新建目标文件,并将源文件的内容填充之这个目标文件中.

linux命令-tar工具详解

把文件和目录打成一个包 文件打包 [[email protected] ~]# tar -cvf 1.tar 1.txt 123 234 ///-c创建 -v可视化 -f file放最后面1.txt123/123/111/123/111/234/123/111/234/22.txt234/234/123.txt ////////////////////////////////////////////////////////// 查看tar包的内容 [[email protected] ~]# t