Linux 有用的命令之 - lsof

news/2024/11/9 21:08:55
 LSOF是针对Unix的诊断和分析工具,它能显示出由系统里正在运行的进程所打开的文件,也能显示出每一个进程的通讯socket。

Contents

    * 查看对某个文件的使用情况
    * 查看对文件系统的使用
          o 查找打开,但是不能连接的文件

    * 无法卸载
    * 查看监听socket
    * 查看某个网络连接
    * 识别 Netstat 连接
    * 查找针对某个命令打开的文件
    * 查看某个用户的操作
    * 更多信息
    * Bibliography

查看对某个文件的使用情况

查看哪些进程对某个文件进行了调用:

$ lsof /etc/passwd

查看对文件系统的使用

/tmp目录被垃圾文件塞满了, 但是, 用ls 又看不到太大文件, 谁干的?

$ lsof /tmp

查找打开,但是不能连接的文件

一个进程打开一个文件, 然后将其设为 unlinked 状态, 则此文件资源仍能被进程使用, 但是其访问路径已经被删除了. 因此, 使用ls不能将其列出. 只有当进程结束时, 才能释放文件占用的资源

查找unlinked 文件, 选项 +L, 作用: 列出打开文件的连接数

$lsof +L

指定连接数的上限 $lsof +L1

同时指定文件系统, 则需要使用 -a(AND) 选项

$ lsof -a +L1 /home

无法卸载

查看谁令mount的分区无法卸载

$ lsof <file_system_name>

查看监听socket
查看网络服务

$ lsof -i

查看某个网络连接

$ lsof -i@aaa.bbb.ccc

$ lsof -iTCP@aaa.bbb.ccc:ftp-data *指定协议*

$ lsof -i4 *指定IP版本*

$ lsof -i6

识别 Netstat 连接
例如: netstat -p -t -n 的输出为:

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 218.56.203.246:52634 202.109.72.72:7000 ESTABLISHED

则可以: tony@tony:~$ lsof -iTCP@202.109.72.72:7000

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

xchat 4505 tony 12u IPv4 5775 TCP 218.56.203.246:52634->202.109.72.72:afs3-fileserver (ESTABLISHED)

查找针对某个命令打开的文件

使用命令的PID

$ lsof -p <PID>

使用命令名称

$ lsof -c <first_characters_of_command_name_that_interest_you>

$ lsof -c sendmail

查看谁在使用设备文件

$ lsof /dev/hda6
查看某个用户的操作

$ id -u tony

1000

$ lsof -u1000 or $ lsof -utony

$ lsof -u^tony * 则是取反的意思*

http://www.niftyadmin.cn/n/4819817.html

相关文章

私网环境安装ansible

生产环境通常没有公网&#xff0c;只能将软件rpm包下载下来进行安装&#xff0c;而linux环境下软件可能需要多个依赖包&#xff0c;因为操作系统可能有各种定制化、安全加固情况&#xff0c;不同操作系统镜像已有依赖包及版本也不尽相同&#xff0c;逐个下载包非常麻烦。本文以…

阅读笔记12-Java 面试题 —— 老田的蚂蚁金服面试经历

电话一面 1、自我介绍、自己做的项目和技术领域 2、项目中的监控&#xff1a;那个监控指标常见的哪些&#xff1f; 3、微服务涉及到的技术以及需要注意的问题有哪些&#xff1f; 4、注册中心你了解了哪些&#xff1f; 5、consul 的可靠性你了解吗&#xff1f; 6、consul 的机制…

sublime使用简介

开发到现在&#xff0c;编辑器倒用过不少&#xff0c;VIM、zend、my eclipse、EPP、editplus、notepad、sublime text 2。 最初使用sublime是同学推荐的&#xff0c;说其何其的好&#xff0c;何其的NB。抱着试试的态度用了下&#xff0c;觉得其不错。下面介绍一些配置啊插件啊…

elasticsearch 入门篇

前言&#xff1a; 要论入门最好的文档&#xff0c;非elasticsearch权威指南和官方的开发文档莫属&#xff0c;我只是基于这两份文档&#xff0c;记录一些关键知识点和自己的理解。 我们为什么要用elasticsearch,或者说来解决什么问题&#xff1f; mysql like查询全文检索服务数…

部署私网DNS(BIND)笔记

1 实验环境 硬件&#xff1a;树莓派 操作系统&#xff1a;CentOS Linux release 7.9.2009 (AltArch) 2 准备工作 2.1 下载 yum install -y bind bind-utils包含dig、nslookup等调试命令&#xff0c;非必须。 yum install -y bind-utils 2.2 防火墙 firewall-cmd --perman…

热点信息IE编程

您的位置: 首页 >> 编程开发 >> Visual C >> IE编程 >> 列表00年11月20日定制IE 5.000年08月06日VC制作类似于IE4的酷工具条02年09月23日MicrosoftWebBrowser控件的常用功能02年09月22日今天又发现IE的一个BUG&#xff01;与BinaryBehavior有关02年…

androidstudio中模拟器数据库导出和Data访问权限设置

1&#xff0c;数据库导出 &#xff1a;首先找到SDK中的platform-tools 之后在这个页面打开黑窗口 2&#xff0c;设置data表访问权限 转载于:https://www.cnblogs.com/asar-2019/p/10955869.html

socket编程:SO_REUSEADDR例解

kevintz 2000-6-19 网友vmstat多次提出了这个问题&#xff1a;SO_REUSEADDR有什么用处和怎么使用。而 且很多网友在编写网络程序时也会遇到这个问题。所以特意写了这么一篇文章&#xff0c; 希望能够解答一些人的疑难。 其实这个问题在Richard Stevens的《Unix网络编程指南》卷…