首页 > 系统相关 >Linux命令:lsof - 列出打开的文件及其信息

Linux命令:lsof - 列出打开的文件及其信息

时间:2024-03-26 11:56:44浏览次数:29  
标签:文件 Linux 进程 打开 lsof 列出

lsof命令是list open files的缩写,该命令用于列出当前系统上所有已经打开的文件。

Linux系统一切皆文件,不仅仅包括普通的数据文件,还有网络套接字、设备文件、管道、命名空间等

常用参数:

  • -a:逻辑AND,多个-lsof选项之间需满足所有条件。
  • -b:显示IPv4/IPv6缓存和统计信息。
  • -c <进程名>:列出指定名称的进程所打开的文件。
  • -d <文件描述符号>:仅显示指定文件描述符对应的文件。
  • -g:显示进程组信息。
  • -i [46] [protocol][@hostname|:portnumber]:列出所有网络连接信息,可以筛选TCP或UDP协议以及特定主机或端口。
  • -p <进程ID>:显示指定进程ID的进程所打开的文件。
  • -u <用户名>:列出指定用户打开的所有文件。
  • -n:禁止DNS解析,显示IP地址而非主机名。
  • -t:只输出进程ID,常用于与其他命令结合使用。
  • -h:显示帮助信息。
  • -L:列出符号链接到的文件而不是符号链接本身。
  • -r <间隔秒数>:连续列出,每隔指定秒数刷新输出结果。
  • -F:使用格式输出,便于其他程序分析。

输出格式:

COMMAND     PID   TID    USER   FD      TYPE             DEVICE   SIZE/OFF       NODE NAME
systemd       1          root  cwd       DIR              253,0        265         64 /
  • COMMAND:执行命令的程序名称,即进程的命令行全称
  • PID:进程id
  • TID:线程id
  • USER:拥有该进程的用户账号名称。
  • FD:文件描述符
  • TYPE:文件类型。如DIR(目录)、REG(常规文件)、CHR(字符设备)、BLK(块设备)、UNIX(Unix域套接字)、FIFO(命名管道)、IPv4/IPv6套接字等
  • DEVICE:设备号
  • SIZE/OFF:大小/偏移量,具体含义取决于文件类型。如果是普通文件,通常是文件的大小;如果是设备文件或套接字等,可能显示不同的信息。
  • NODE:索引节点(inode)号,是文件系统中标识文件的唯一编号。
  • NAME:打开文件的名称,也就是文件的路径。对于网络套接字,可能是IP地址和端口号的组合形式

使用示例:

# 列出系统中所有打开的文件
lsof

# 查找哪个进程正在使用特定文件
lsof /path/to/somefile

# 列出某个进程打开的所有文件
lsof -p <pid>

# 查找指定用户打开的文件
lsof -u <username>

# 查找监听指定端口的进程
lsof -i :<port>

# 查找监听指定端口的进程时指定协议
lsof -i tcp:<port> -i udp:<port>

# 显示所有网络连接
lsof -i -n

# 查找某个应用程序打开的所有文件
lsof -c <application>

# 查找已经被删除但仍然被进程占用的文件
lsof +L1

# 按照文件描述符查找文件
# 0 标准输入(stdin)
# 1 标准输出(stdout)
# 2 标准错误输出(stderr)
lsof -d 0,1,2

# 列出所有打开的网络文件描述符(网络套接字)
lsof -i

# 列出某个目录及其子目录下所有被打开的文件
lsof +D /path/to

# 连续列出文件状态的变化,每5秒刷新一次
lsof -r 5

# 将输出结果格式化以便于后续处理
lsof -F


Linux命令系列:

标签:文件,Linux,进程,打开,lsof,列出
From: https://www.cnblogs.com/CharrammaBlog/p/18096319

相关文章

  • 【linux】Centos7 手动编译安装 cmake-3.28.4
    简介1、移除原来的cmake版本yumremovecmake-y2、下载cmake-3.28.4.tar.gz安装包并解压wgethttps://cmake.org/files/v31、移除老版本cmake版本并安装依赖包yumremovecmake-y;yuminstall-ygccgcc-c++makeautomakeopensslopenssl-devel2、下载cmake-3.7.2.tar.gz......
  • Linux命令:tcpdump - 网络分析
    tcpdump是一个功能强大的命令行网络协议分析器。主要功能:数据包捕获(抓包)数据包过滤数据分析网络故障排除和诊断常用选项-i:指定要监听的网络接口-D:列出可用于抓包的接口-s:设置抓取的数据包长度,超过这个长度的部分会被截断-c:指定要抓取的数据包的数量-w:将抓包数据保存......
  • Linux用户及用户组管理
    用户:UID(userid)多用户多任务:用户组:GID(groupid)用户创建用户的分类:管理员:root  0     655350普通用户:1-65535        系统用户:1-999(Centos7)1-499        登录用户:1000500     ......
  • Linux常用命令
    Linux常用命令介绍Linux系统中有很多命令,以下是一些常用的Linux命令列表:1、文件和目录操作命令:●ls:列出目录内容●cd:切换目录●pwd:显示当前工作目录●mkdir:创建新目录●rm:删除文件或目录●cp:复制文件或目录●mv:移动文件或目录●touch:创建......
  • 工作中总结的30个常用Linux指令,实在记不住就别硬记了,看这篇就够了
    写在开头最近发现自己记忆力严重下滑,很多sql命令,linux命令都记不住,特别是linux命令,很多命令参数很多,一段时间不用,再去使用就需要从网上重查了,很烦人,为此花了一些时间把之前笔记中的Linux命令给整理了一下,汇总出30个常用的分享出来,下次再想不起来直接看这篇文章就行了。1、Linux......
  • linux终端编译单文件与多文件
    .c单文件:rani@DocR:~/Downloads$mkdirtestrani@DocR:~/Downloads$cdtestrani@DocR:~/Downloads/test$vimhello.crani@DocR:~/Downloads/test$gcchello.c-ohellorani@DocR:~/Downloads/test$./helloHelloworld.cpp单文件rani@DocR:~/Downloads/test$vimprin......
  • Red Hat Enterprise Linux Server 7.9 扩展目录空间实践
    原磁盘总空间100GB,新加一块100GB硬盘扩展到/目录。一、收集待扩展磁盘目录信息lsblk    检查磁盘信息df-TH   检查磁盘目录root@localhost~]#lsblkNAME         MAJ:MINRM SIZEROTYPEMOUNTPOINTsda            8:0   0 1......
  • Linux - 第二节知识点
    无论是什么重定向,如果要写入的文件不存在,它会先创建一个3cat-n文件名会对输出结果所有行进行编号 cat-b 文件名会对输出结果非空行进行编号 cat-s文件名不输出多行空行,当有多行空行时,就会被压缩成一行空行more-行数文件名按照要求看多少行都可以less-行......
  • Linux - 第一节知识点
    一.ls指令ls显示当前目录下所有的文件列表alt+enter:让xshell自动全屏和取消全屏ls-a显示隐藏文件pwd显示当前命令行在进行操作时所处的目录在哪mkdir建立文件夹mkdir-p文件名/文件名一次可以建立多个目录redir文件名删除空目录rm文件名删除文件,不能删......
  • Linux常见问题
    Linux常见问题一、linux网络错误ping:www.baidu.com:未知的名称或服务原因分析,linuxping不通原因1、可能是网络配置文件设置错误检查网络配置文件:vim/etc/sysconfig/network-scripts/ifcfg-ens33仔细检查红框中的信息解释ONBOOT=yes#设置开机启动网络,这样就不需......