在 CentOS/Fedora/RHEL 版本的 Linux 中则使用下面的命令进行安装。

yum install lsof

lsof也是有着最多选项的 Linux/Unix 命令之一。lsof可以查看打开的文件是:

  • 普通文件
  • 目录
  • 网络文件系统的文件
  • 字符或设备文件
  • (函数) 共享库
  • 管道、命名管道
  • 符号链接
  • 网络文件(例如:NFS file、网络 socket,unix 域名 socket)
  • 还有其它类型的文件,等等

虽然lsof命令有着 N 多的选项,但是常用的只有以下几个:

  • -a:使用 AND 逻辑,合并选项输出内容
  • -c:列出名称以指定名称开头的进程打开的文件
  • -d:列出打开指定文件描述的进程
  • +d:列出目录下被打开的文件
  • +D:递归列出目录下被打开的文件
  • -n:列出使用 NFS 的文件
  • -u:列出指定用户打开的文件
  • -p:列出指定进程号所打开的文件
  • -i:列出打开的套接字

总的说来,lsof命令还是一个比较复杂的命令,那么多选项,用起来还是蛮累的,但是这不能否定它是一个出色的工具,一个我们不得不学习的命令。下面就来说一些lsof的惯用用法。 – 命令:

lsof

输出:

COMMAND     PID   TID    USER   FD      TYPE             DEVICE   SIZE/OFF       NODE NAME
systemd       1          root  cwd       DIR              253,1       4096          2 /
systemd       1          root  rtd       DIR              253,1       4096          2 /
systemd       1          root  txt       REG              253,1    1523568    1053845 /usr/lib/systemd/systemd
systemd       1          root  mem       REG              253,1      20040    1050452 /usr/lib64/libuuid.so.1.3.0
systemd       1          root  mem       REG              253,1     261336    1051899 /usr/lib64/libblkid.so.1.1.0
systemd       1          root  mem       REG              253,1      90664    1050435 /usr/lib64/libz.so.1.2.7
systemd       1          root  mem       REG              253,1     157424    1050447 /usr/lib64/liblzma.so.5.2.2
systemd       1          root  mem       REG              253,1      23968    1050682 /usr/lib64/libcap-ng.so.0.0.0
systemd       1          root  mem       REG              253,1      19888    1050666 /usr/lib64/libattr.so.1.1.0

输出内容详解:

  • COMMAND:进程的名称

  • PID:进程标识符

  • TID:线程标识符

  • USER:进程所有者

  • FD:文件描述符,应用程序通过文件描述符识别该文件,一般有以下取值:

    • cwd:表示 current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录
    • txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库
    • lnn:library references (AIX)
    • er:FD information error (see NAME column)
    • jld:jail directory (FreeBSD)
    • ltx:shared library text (code and data)
    • mxx:hex memory-mapped type number xx
    • m86:DOS Merge mapped file
    • mem:memory-mapped file
    • mmap:memory-mapped device
    • pd:parent directory
    • rtd:root directory
    • tr:kernel trace file (OpenBSD)
    • v86:VP/ix mapped file
    • 0:表示标准输出
    • 1:表示标准输入
    • 2:表示标准错误
  • TYPE:文件类型,常见的文件类型有以下几种:

    • DIR:表示目录
    • CHR:表示字符类型
    • BLK:块设备类型
    • UNIX:UNIX 域套接字
    • FIFO:先进先出 (FIFO) 队列
    • IPv4:网际协议 (IP) 套接字
  • DEVICE:指定磁盘的名称

  • SIZE/OFF:文件的大小

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

  • NAME:打开文件的确切名称

    • 命令:lsof abc.txt 说明:显示开启文件 abc.txt 的进程
    • 命令:lsof -i :80 说明:列出 80 端口目前打开的文件列表

    输出:

COMMAND     PID  USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
nginx      8838  root    8u  IPv4 114512623      0t0  TCP *:http (LISTEN)
nginx     12886 jelly    8u  IPv4 114512623      0t0  TCP *:http (LISTEN)
nginx     12887 jelly    8u  IPv4 114512623      0t0  TCP *:http (LISTEN)
  • 命令:
lsof -i

说明:列出所有的网络连接

输出:

COMMAND     PID  USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
ntpd        856   ntp   16u  IPv4     13105      0t0  UDP *:ntp
ntpd        856   ntp   17u  IPv6     13106      0t0  UDP *:ntp
ntpd        856   ntp   18u  IPv4     13210      0t0  UDP localhost:ntp
ntpd        856   ntp   19u  IPv4     13211      0t0  UDP jellythink:ntp
vsftpd     1613  root    3u  IPv6     17867      0t0  TCP *:ftp (LISTEN)
php-fpm    4037 jelly    0u  IPv4  60908335      0t0  TCP localhost:cslistener (LISTEN)
sshd       8503  root    3u  IPv4    197060      0t0  TCP *:50022 (LISTEN)
nginx      8838  root    8u  IPv4 114512623      0t0  TCP *:http (LISTEN)
nginx      8838  root    9u  IPv4 114512624      0t0  TCP *:https (LISTEN)
php-fpm    9059 jelly    0u  IPv4  60908335      0t0  TCP localhost:cslistener (LISTEN)
php-fpm    9137 jelly    0u  IPv4  60908335      0t0  TCP localhost:cslistener (LISTEN)
  • 命令:lsof -i tcp 说明:列出所有的 TCP 网络连接信息
  • 命令:lsof -i udp 说明:列出所有的 UDP 网络连接信息
  • 命令:lsof -i tcp:80 说明:列出 80 端口 TCP 协议的所有连接信息
  • 命令:lsof -i udp:25 说明:列出 25 端口 UDP 协议的所有连接信息
  • 命令:lsof -c ngin 说明:列出以 ngin 开头的进程打开的文件列表
  • 命令:lsof -p 20711 说明:列出指定进程打开的文件列表
  • 命令:lsof -u uasp 说明:列出指定用户打开的文件列表
  • 命令:lsof -u uasp -i tcp 说明:将所有的 TCP 网络连接信息和指定用户打开的文件列表信息一起输出
  • 命令:lsof -a -u uasp -i tcp 说明:将指定用户打开的文件列表信息,同时是 TCP 网络连接信息的一起输出;注意和上一条命令进行对比
  • 命令:lsof +d /usr/local/ 说明:列出目录下被进程打开的文件列表
  • 命令:lsof +D /usr/local/ 说明:递归搜索目录下被进程打开的文件列表
  • 命令:lsof -i @peida.linux:20,21,22,25,53,80 -r 3 说明:列出目前连接到主机 peida.linux 上端口为 20,21,22,25,53,80 相关的所有文件信息,且每隔 3 秒不断的执行lsof指令

Linux好用命令之lsof命令相关推荐

  1. linux执行lsof命令_Linux lsof命令使用详解

    lsof(list open files)是一个查看进程打开的文件的工具. 在 linux 系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以 lsof 命令不仅可以查 ...

  2. linux执行lsof命令_Linux lsof 命令

    Linux lsof 命令 发布时间:2019-01-16 08:52, 浏览次数:841 , 标签: Linux lsof lsof(list open files)是一个查看进程打开的文件的工具. ...

  3. linux执行lsof命令_linux lsof命令详解

    简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...

  4. lsof 命令实用用法介绍

    Table of Contents 前言 Linux 下有哪些文件 lsof 命令实用用法介绍 查看当前打开的所有文件 列出被删除但占用空间的文件 恢复打开但被删除的文件 查看当前文件被哪些进程打开 ...

  5. lsof命令简单使用

    lsof命令简单使用 1.命令用途 2.常用的命令 列出本机所有的网络连接 列出所有tcp 网络连接信息 列出所有udp网络连接信息 列出正在使用某个端口的进程 列出正在使用某个特定的udp端口的进程 ...

  6. Linux利用lsof命令恢复删除的文件

    lsof命令 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需 ...

  7. Linux操作系统上lsof命令详解

    Linux操作系统上lsof命令详解 2011-10-08 18:31:31 http://xjsunjie.blog.51cto.com/999372/682865 标签:Linux lsof命令 ...

  8. Linux 利用lsof命令恢复删除的文件

    lsof命令 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需 ...

  9. linux的lsof命令详解

    lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 ...

最新文章

  1. 【NeurIPS2019】Yoshua Bengio报告:深度学习系统从1代到2代
  2. Dubbo服务调用失败
  3. 运行tensorflow代码出现dtypes.py:516: FutureWarning: Passing (type, 1) or '1type的解决方法(亲测)
  4. url与uri的区别
  5. python父亲节祝福_父亲节祝福语精选简短 父亲节祝福语简短独特
  6. 客座编辑:崔辰州(1976-),男,博士,中国科学院国家天文台研究员、硕士生导师,国家天文台信息与计算中心主任...
  7. 阿里最“短命”P10员工?曝前百度云高管加盟钉钉不足三周被开除
  8. python中exit 的作用_Python退出命令-为什么要使用这么多?何时使用每个命令?
  9. nest.js 使用express需要提供多个静态目录的操作
  10. 好书推荐:OpenSuse
  11. Linux root找回密码的方法
  12. MATLAB解带未知参数的积分方程
  13. 《具体数学》部分习题解答3
  14. 【自习自习自习自习自习】
  15. PTA~习题8-4 报数 (20分) 2020年11月
  16. ios 出现log不打印 was compiled with optimization - stepping may behave oddly; variables may not be availa
  17. 大学生云计算期末考试题
  18. 办公软件——隐私条款
  19. 什么是 TF-IDF 算法?
  20. 知识图谱-生物信息学-医学顶刊论文(Briefings in Bioinformatics-2021):MPG:一种有效的自我监督框架,用于学习药物分子的全局表示以进行药物发现

热门文章

  1. 从零开始创建react+Django项目
  2. 基于Cocos Studio和BMfont制作艺术字体
  3. 1993年的台湾工厂SOP解读,依旧经典!
  4. 前端小游戏(强烈推荐)
  5. Label mx制作出的小尺寸条码如何保证被识别扫描
  6. android手机怎样开启usb调试模式,Android手机USB调试在哪?安卓手机如何打开USB调试模式?...
  7. 机器学习实战三: 预测汽车油耗效率 MPG
  8. 计算机毕业设计ssm论文管理系统
  9. c盘文件被木马删怎么恢复?教你四步轻松找回文件!
  10. CSS--网页样式布局(一)