iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用lsof命令
  • 846
分享到

如何使用lsof命令

2023-06-27 13:06:31 846人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists

这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

如何使用lsof命令

1, 使用 lsof 命令行列出所有打开的文件

# lsof

这可是一个很长的列表,包括打开的文件和网络

如何使用lsof命令
lsof1

上述屏幕截图中包含很多列,例如 PID、user、FD 和 TYPE 等等。

FD - File descriptor

FD 列包含这样一些值

cwd - Current working directorytxt - Text filemem - Memory Mapped filemmap - Memory Mapped deviceNumber - It represent the actual file descriptor. For example, 0u, 1w and 3r

r 是读的意思,w 是写,u 代表读写

Type 代表文件类型,例如:

>REG - Regular file>DIR - Directory>CHR - Character special file>FIFO - First in first out

2, 列出某个用户打开的文件

# lsof -u user_name

Example:

# lsof -u crybitCOMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF       node NAMEsshd    29609 crybit  cwd    DIR            144,233     4096  117711421 /sshd    29609 crybit  rtd    DIR            144,233     4096  117711421 /sshd    29609 crybit  txt    REG            144,233   409488  119020186 /usr/sbin/sshdsshd    29609 crybit  mem    REG            144,241          2443001619 (deleted)/dev/zero (stat: No such file or directory)sshd    29609 crybit  mem    REG               8,37           119021850 /lib64/libnss_dns-2.5.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021984 /lib64/security/pam_succeed_if.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119022000 /lib64/security/pam_limits.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021960 /lib64/security/pam_keyinit.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021972 /lib64/security/pam_cracklib.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021987 /lib64/security/pam_nologin.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021988 /lib64/security/pam_deny.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119019223 /usr/lib64/libcrack.so.2.8.0 (path dev=144,233)..........

3, 列出在某个端口运行的进程

# lsof -i :port_number

Example:

# lsof -i :22COMMAND   PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd      769   root    3u  IPv6 2281738844      0t0  tcp *:ssh (LISTEN)sshd      769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)# lsof -i :3306COMMAND   PID  USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEmysqld  11106 Mysql   10u  IPv4 2340975114      0t0  TCP *:mysql (LISTEN)

4, 只列出使用 IPv4 的打开文件

# lsof -i 4 - For IPv4

Example:

# lsof -i 4COMMAND     PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd        769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)named      8362  named   20u  IPv4 2334751017      0t0  TCP localhost.localdomain:domain (LISTEN)named      8362  named   21u  IPv4 2334751019      0t0  TCP crybit.com:domain (LISTEN)named      8362  named   22u  IPv4 2334751021      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named  512u  IPv4 2334751016      0t0  UDP localhost.localdomain:domainnamed      8362  named  513u  IPv4 2334751018      0t0  UDP crybit.com:domaintcpserver  9975   root    3u  IPv4 2335487959      0t0  TCP *:pop3 (LISTEN)tcpserver  9978   root    3u  IPv4 2335487967      0t0  TCP *:pop3s (LISTEN)tcpserver  9983   root    3u  IPv4 2335487997      0t0  TCP *:imap (LISTEN)tcpserver  9987   root    3u  IPv4 2335488014      0t0  TCP *:imaps (LISTEN)xinetd    10413   root    5u  IPv4 2336070983      0t0  TCP *:ftp (LISTEN)xinetd    10413   root    6u  IPv4 2336070984      0t0  TCP *:smtp (LISTEN)mysqld    11106  mysql   10u  IPv4 2340975114      0t0  TCP *:mysql (LISTEN)# lsof -i 6

Example:

# lsof -i 6COMMAND   PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd      769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)named    8362  named   23u  IPv6 2334751024      0t0  TCP localhost.localdomain:rndc (LISTEN)Httpd   29241   root    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29241   root    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29243 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29243 apache    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29244 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29244 apache    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29245 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29245 apache    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29246 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)

5, 列出端口在 1-1024 之间的所有进程

# lsof -i :1-1024

Example:

# lsof -i :1-1024COMMAND     PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd        769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)sshd        769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)named      8362  named   20u  IPv4 2334751017      0t0  TCP localhost.localdomain:domain (LISTEN)named      8362  named   21u  IPv4 2334751019      0t0  TCP crybit.com:domain (LISTEN)named      8362  named   22u  IPv4 2334751021      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named   23u  IPv6 2334751024      0t0  TCP localhost.localdomain:rndc (LISTEN)tcpserver  9975   root    3u  IPv4 2335487959      0t0  TCP *:pop3 (LISTEN)tcpserver  9978   root    3u  IPv4 2335487967      0t0  TCP *:pop3s (LISTEN)tcpserver  9983   root    3u  IPv4 2335487997      0t0  TCP *:imap (LISTEN)tcpserver  9987   root    3u  IPv4 2335488014      0t0  TCP *:imaps (LISTEN)xinetd    10413   root    5u  IPv4 2336070983      0t0  TCP *:ftp (LISTEN)xinetd    10413   root    6u  IPv4 2336070984      0t0  TCP *:smtp (LISTEN)httpd     29241   root    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd     29241   root    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd     29243 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)........

6, 根据进程id来列出打开的文件

# lsof -p PID

Example:

# lsof -p 11106COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF       NODE NAMEmysqld  11106 mysql  cwd    DIR            144,233     4096  119025114 /var/lib/mysqlmysqld  11106 mysql  rtd    DIR            144,233     4096  117711421 /mysqld  11106 mysql  txt    REG            144,233  9484782  119025094 /usr/libexec/mysqldmysqld  11106 mysql  mem    REG               8,37           119025094 /usr/libexec/mysqld (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021850 /lib64/libnss_dns-2.5.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021830 /lib64/libnss_files-2.5.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021841 /lib64/libsepol.so.1 (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021801 /lib64/libselinux.so.1 (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021785 /lib64/libresolv-2.5.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021920 /lib64/libkeyutils-1.2.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119017006 /usr/lib64/libkrb5support.so.0.1 (path dev=144,233)........

7, 杀掉某个用户的所有活动进程

# killall -9 `lsof -t -u username`

8, 列出某个目录中被打开的文件

# lsof +D path_of_the_directory

Example:

# lsof +D /var/log/COMMAND     PID   USER   FD   TYPE  DEVICE SIZE/OFF      NODE NAMEsyslogd    9729   root    1w   REG 144,233        0 119019158 /var/log/kernelsyslogd    9729   root    2w   REG 144,233   350722 119021699 /var/log/messagessyslogd    9729   root    3w   REG 144,233   591577 119019159 /var/log/securesyslogd    9729   root    4w   REG 144,233   591577 119019159 /var/log/secure

9, 根据进程名称列出打开的文件

# lsof -c process_name

Example:

# lsof -c sshCOMMAND     PID USER   FD   TYPE     DEVICE SIZE/OFF    NODE NAMEsshd        483 root  cwd    DIR        8,9     4096       2 /sshd        483 root  rtd    DIR        8,9     4096       2 /sshd        483 root  txt    REG        8,9   523488 1193409 /usr/sbin/sshd

10, 列出所有网络连接

# lsof -i

该命令列出所有侦听和已建立的网络连接 Example:

# lsof -iCOMMAND     PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd        769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)sshd        769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)named      8362  named   20u  IPv4 2334751017      0t0  TCP localhost.localdomain:domain (LISTEN)named      8362  named   21u  IPv4 2334751019      0t0  TCP crybit.com:domain (LISTEN)named      8362  named   22u  IPv4 2334751021      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named   23u  IPv6 2334751024      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named  512u  IPv4 2334751016      0t0  UDP localhost.localdomain:domain

关于“如何使用lsof命令”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何使用lsof命令

本文链接: https://www.lsjlt.com/news/310718.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用lsof命令
    这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists...
    99+
    2023-06-27
  • Linux系统下如何使用lsof命令
    本篇内容主要讲解“Linux系统下如何使用lsof命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统下如何使用lsof命令”吧!lsof命令简介:lsof(list open fi...
    99+
    2023-06-12
  • 如何在Linux中使用lsof命令
    这期内容当中小编将会给大家带来有关如何在Linux中使用lsof命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.命令格式:lsof [参数][文件]2.命令功能:用于查看你进程开打的文件,...
    99+
    2023-06-13
  • lsof命令怎么用
    这篇文章将为大家详细讲解有关lsof命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 一:lsof介绍lsof 是 linux 下的一...
    99+
    2024-04-02
  • lsof 命令怎么在Linux中使用
    lsof 命令怎么在Linux中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下...
    99+
    2023-06-13
  • lsof命令学习
    学习下lsof命令 lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是...
    99+
    2024-04-02
  • linux中lsof命令的使用方法
    这期内容当中小编将会给大家带来有关linux中lsof命令的使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。lsof(list open files)是一个列出当前系统打开文件的工具。在linux环...
    99+
    2023-06-09
  • 在Linux系统中使用lsof命令
    这篇文章主要讲解了“在Linux系统中使用lsof命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Linux系统中使用lsof命令”吧!lsof是系统管理/安全的尤伯工具。我大多数时候用...
    99+
    2023-06-13
  • Linux系统lsof命令怎么用
    这篇文章主要介绍了Linux系统lsof命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。lsof是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件...
    99+
    2023-06-28
  • Linux命令详解(15)lsof命令
    lsof 是 linux 下的一个非常实用的系统级的监控、诊断工具。它是 List Open Files的缩写。 使用 lsof,你可以获取任何被打开文件的各种信息,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身...
    99+
    2023-09-02
    服务器 运维 lsof
  • Linux中lsof命令有什么用
    这篇文章主要为大家展示了“Linux中lsof命令有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中lsof命令有什么用”这篇文章吧。Linux常用命令lsof命令 用于查看你进...
    99+
    2023-06-28
  • Linux系统lsof命令的使用方法
    Linux系统lsof命令的使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux系统中lsof命令是用于列出当前系统打开文件的工具,是一个非常方便的命令。lsof命...
    99+
    2023-06-28
  • Linux中的lsof命令怎么用
    这期内容当中小编将会给大家带来有关Linux中的lsof命令怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。lsof 命令是 Linux 系统的扩展工具,它的含义是 list opened filed...
    99+
    2023-06-28
  • Linux如何利用lsof命令恢复删除的文件
    这篇文章主要介绍Linux如何利用lsof命令恢复删除的文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!lsof命令lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复...
    99+
    2023-06-16
  • Linux系统中lsof命令怎么用
    这篇文章主要介绍Linux系统中lsof命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!lsof是一个查看进程打开的文件的工具, linux 系统一切皆文件。通过文件不仅仅可以访问常规数据,还可以访问网络连接...
    99+
    2023-06-28
  • Linux系统被入侵后如何使用lsof命令恢复被删除日志
    这篇文章主要介绍“Linux系统被入侵后如何使用lsof命令恢复被删除日志”,在日常操作中,相信很多人在Linux系统被入侵后如何使用lsof命令恢复被删除日志问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”L...
    99+
    2023-06-13
  • Linux中怎么利用Lsof命令恢复误删文件
    Linux中怎么利用Lsof命令恢复误删文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。原理:在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描...
    99+
    2023-06-13
  • Linux命令之lz4命令如何使用
    本篇内容主要讲解“Linux命令之lz4命令如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux命令之lz4命令如何使用”吧!一、lz4命令简介LZ4是一种压缩格式,特点是压缩/解压...
    99+
    2023-07-05
  • Linux下Lsof命令的安装及基础操作
    这篇文章主要讲解了“Linux下Lsof命令的安装及基础操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下Lsof命令的安装及基础操作”吧!安装lsof 命令默认是没有安装的,而...
    99+
    2023-06-15
  • 如何使用SED命令
    小编给大家分享一下如何使用SED命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!sed (stream editor)功能说明:利用script来处理文本文件。...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作