Linux好用命令之lsof命令
在 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 xxm86
:DOS Merge mapped filemem
:memory-mapped filemmap
:memory-mapped devicepd
:parent directoryrtd
:root directorytr
:kernel trace file (OpenBSD)v86
:VP/ix mapped file0
:表示标准输出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命令相关推荐
- linux执行lsof命令_Linux lsof命令使用详解
lsof(list open files)是一个查看进程打开的文件的工具. 在 linux 系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以 lsof 命令不仅可以查 ...
- linux执行lsof命令_Linux lsof 命令
Linux lsof 命令 发布时间:2019-01-16 08:52, 浏览次数:841 , 标签: Linux lsof lsof(list open files)是一个查看进程打开的文件的工具. ...
- linux执行lsof命令_linux lsof命令详解
简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...
- lsof 命令实用用法介绍
Table of Contents 前言 Linux 下有哪些文件 lsof 命令实用用法介绍 查看当前打开的所有文件 列出被删除但占用空间的文件 恢复打开但被删除的文件 查看当前文件被哪些进程打开 ...
- lsof命令简单使用
lsof命令简单使用 1.命令用途 2.常用的命令 列出本机所有的网络连接 列出所有tcp 网络连接信息 列出所有udp网络连接信息 列出正在使用某个端口的进程 列出正在使用某个特定的udp端口的进程 ...
- Linux利用lsof命令恢复删除的文件
lsof命令 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需 ...
- Linux操作系统上lsof命令详解
Linux操作系统上lsof命令详解 2011-10-08 18:31:31 http://xjsunjie.blog.51cto.com/999372/682865 标签:Linux lsof命令 ...
- Linux 利用lsof命令恢复删除的文件
lsof命令 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需 ...
- linux的lsof命令详解
lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 ...
最新文章
- 【NeurIPS2019】Yoshua Bengio报告:深度学习系统从1代到2代
- Dubbo服务调用失败
- 运行tensorflow代码出现dtypes.py:516: FutureWarning: Passing (type, 1) or '1type的解决方法(亲测)
- url与uri的区别
- python父亲节祝福_父亲节祝福语精选简短 父亲节祝福语简短独特
- 客座编辑:崔辰州(1976-),男,博士,中国科学院国家天文台研究员、硕士生导师,国家天文台信息与计算中心主任...
- 阿里最“短命”P10员工?曝前百度云高管加盟钉钉不足三周被开除
- python中exit 的作用_Python退出命令-为什么要使用这么多?何时使用每个命令?
- nest.js 使用express需要提供多个静态目录的操作
- 好书推荐:OpenSuse
- Linux root找回密码的方法
- MATLAB解带未知参数的积分方程
- 《具体数学》部分习题解答3
- 【自习自习自习自习自习】
- PTA~习题8-4 报数 (20分) 2020年11月
- ios 出现log不打印 was compiled with optimization - stepping may behave oddly; variables may not be availa
- 大学生云计算期末考试题
- 办公软件——隐私条款
- 什么是 TF-IDF 算法?
- 知识图谱-生物信息学-医学顶刊论文(Briefings in Bioinformatics-2021):MPG:一种有效的自我监督框架,用于学习药物分子的全局表示以进行药物发现