【Linux】命令lsof使用详解

🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

感谢点赞和关注 ,每天进步一点点!加油!

目录

一、lsof命令介绍

二、lsof命令功能

三、lsof命令输出说明

四、lsof常见命令参数

五、常用的命令使用


一、lsof命令介绍


lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如TCP和UDP等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

二、lsof命令功能


用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具。

三、lsof命令输出说明


lsof [参数][文件]

lsof输出各列信息的意义如下:

COMMAND:进程的名称

PID:进程标识符

PPID:父进程标识符(需要指定-R参数)

USER:进程所有者

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等

  • cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
  • txt :该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
  • lnn:库引用 (AIX);
  • er:FD信息错误 (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:内存映射文件;
  • mmap:内存映射设备;
  • pd:parent directory;
  • rtd:root directory;
  • tr:kernel trace file (OpenBSD);
  • v86 VP/ix mapped file;
  • 0:表示标准输出
  • 1:表示标准输入
  • 2:表示标准错误

一般在标准输出、标准错误、标准输入后还跟着文件状态模式:r、w、u等

  • u:表示该文件被打开并处于读取/写入模式
  • r:表示该文件被打开并处于只读模式
  • w:表示该文件被打开并处于
  • 空格:表示该文件的状态模式为unknow,且没有锁定
  • -:表示该文件的状态模式为unknow,且被锁定

同时在文件状态模式后面,还跟着相关的锁:

  • N:for a Solaris NFS lock of unknown type;
  • r:部分文件的读锁;
  • R:整个文件的读锁;
  • w:部分的文件的部分写锁;
  • W:整个文件的写锁;(整个文件的写锁)
  • u:对于任意长度的读写锁;
  • U:对于未知类型的锁;
  • x:for an SCO OpenServer Xenix lock on part of the file;
  • X:for an SCO OpenServer Xenix lock on the entire file;
  • space:if there is no lock.

TYPE:文件类型,如DIR、REG等,常见的文件类型

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

DEVICE:指定磁盘的名称

SIZE:文件的大小

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

NAME:打开文件的确切名称


四、lsof常见命令参数


 lsof --help

常用的命令:

  • lsof 显示开启文件的进程
  • 使用-i:port来显示与指定端口相关的网络信息
  • 使用@host来显示指定到指定主机的连接
  • 使用@host:port显示基于主机与端口的连接
  • 使用-c查看指定的命令正在使用的文件和网络连接
  • 使用-p查看指定进程ID已打开的内容

如下:

lsof xxx.txt : 显示开启文件xxx.txt的进程
lsof -c webserver: 显示abc进程现在打开的文件
lsof -c -p 123456 : 列出进程号为123456的进程所打开的文件
lsof -g gid : 显示归属gid的进程情况
lsof +d /usr/local/ : 显示目录下被进程开启的文件
lsof +D /usr/local/: 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 : 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]


五、常用的命令使用


查看谁正在使用某个文件,也就是说查找某个文件相关的进程

lsof /var/log/cron

递归查看某个目录的文件信息

lsof +D /var/log/hadoop/             【使用了+D,对应目录下的所有子目录和文件都会被列出】

列出某个用户打开的文件信息

# 列出hdfs用户打开的文件信息
lsof -u hdfs 

列出某个程序进程所打开的文件信息

# 列出java进程中搜索关于nodemanager所打开的文件信息
lsof –c java | grep nodemanager
-c【command】 选项将会列出所有以java这个进程开头的程序的文件,

列出多个进程多个打开的文件信息

# java进程且端口占用为8020的打开文件信息
 lsof -c java  -i:8020 | head  -n 10

 # -i i   select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]

列出某个IP的连接信息

# 列出主机hdp104的连接信息
lsof -i @hdp104

根据IP分类显示当前环境的连接信息

lsof -i 4  #列举IPV4
lsof -i 6  #列举IPV6

列出TCP/UDP的连接信息

lsof -i tcp      
lsof -i udp
lsof -i tcp:22

列出除了某个用户外的被打开的文件信息

[root@localhost omc]#lsof -u ^root

列出某个用户的所有活跃的网络端口

# hbase用户所有活跃的网络端口
lsof -a -u hbase  -i

通过某个进程号显示该进程打开的文件

# zookeeper进程打开的文件
lsof -p 28323

列出COMMAND列中包含字符串" java",且文件描符的类型为mem,用户为yarn的文件信息

lsof -c java -a -d mem -u yarn

列出被进程号为22848的进程所打开的所有IPV4 network files

lsof -i 4 -a -p 22848

列出目前连接主机hdp105且端口为:8020,16020相关的所有文件信息,且每隔3秒不断的执行lsof指令

lsof -i @hdp105:8020,16020 -r 3

找出正等候连接的端口

lsof -i -sTCP:LISTEN
lsof -i | grep -i LISTEN

lsof -i -sTCP:ESTABLISHED
lsof -i | grep -i ESTABLISHED


Linux lsof命令详解 - 小a玖拾柒 - 博客园

linux lsof详解_51CTO博客_lsof命令详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/172461.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物联网AI MicroPython学习之语法 ADC数模模块

学物联网,来万物简单IoT物联网!! ADC 介绍 模块功能: ADC数模转换模块 ADC功能在ESP32引脚32-39上可用,使用默认配置时,ADC引脚上的输入电压必须介于0.0v和1.0v之间(任何高于1.0v的值都将读为4095&#x…

「ResNet-18」70 个犬种的图片分类

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

Oracle实时同步技术

Oracle数据库的价值 Oracle数据库是一种高度可靠、安全和强大的关系型数据库管理系统,它具有以下几个方面的价值: 可靠性和稳定性:Oracle数据库以其高度可靠性、稳定性和数据完整性而闻名于世。 安全性:Oracle数据库提供了一系列…

解决uncompyle6反编译报错KeyError

报错内容:KeyError:3.11.0 (这个是我自己的Python版本号) 主要原因就是你的Python版本没在它库文件支持的版本里,我们需要进行手动添加即可。 首先找到文件:magics.py 我的是在这个路径下:D:\…

P9232 [蓝桥杯 2023 省 A] 更小的数(区间DP)

求大数字某连续部分反转后&#xff0c;比原数字小的个数 思路&#xff1a;自前向后遍历 ai是位于数字第i位的数字 aj是位于数字第j位的数字&#xff08;i<j&#xff09; ai>aj f[ai][aj]1; ai<aj f[ai][aj]0; aiaj f[ai][aj]f…

宏电股份荣膺国家知识产权优势企业称号,科技创新与研发实力获国家级认可

近日&#xff0c;国家知识产权局公布了2023年度国家知识产权优势企业的评审结果&#xff0c;宏电股份凭借强大的技术实力和创新能力&#xff0c;荣获“国家知识产权优势企业”荣誉称号。这一荣誉是对宏电股份在技术创新和知识产权创造、运用、保护及管理方面的高度认可&#xf…

通明智云宣布完成数千万元A+轮融资, 引领云原生与信创两翼齐飞的应用交付解决方案

近日&#xff0c;通明智云&#xff08;北京&#xff09;科技有限公司&#xff08;简称&#xff1a;通明智云&#xff09;宣布完成数千万元A轮融资&#xff0c;由全聚合与信公投资联合投资&#xff0c;明论资本担任本轮融资独家财务顾问。本轮融资资金将主要用于NJet云原生应用引…

华为云IoT与OpenHarmony深度协同,加速设备上鸿即上云【云驻共创】

本次专题论坛探讨了华为云IoT与Open Harmony的深度协同、边缘屏蔽硬件差异、实现智慧隧道全方位智能化管理&#xff0c;以及华为云与Open Harmony生态的合作。同时也介绍了华为云物联网卡平台、HTTP2协议以及华为物联网在交通领域的应用。 一&#xff0e;华为云IoT与Open Harm…

Jmeter 自动化性能测试常见问题汇总

一、request 请求超时设置 timeout 超时时间是可以手动设置的&#xff0c;新建一个 http 请求&#xff0c;在“高级”设置中找到“超时”设置&#xff0c;设置连接、响应时间为2000ms。 1. 请求连接超时&#xff0c;连不上服务器。 现象&#xff1a; Jmeter表现形式为&…

18章总结—Swing程序设计

例题1 package admi; import java.awt.*; import javax.swing.*; public class JFreamTest { public static void main(String[] args) { JFrame jfnew JFrame(); jf.setTitle("创建一个JFrame窗体"); Container containerjf.getC…

ubuntu安装nvm

需求 在 virtualbox 虚拟机上运行的 ubuntu &#xff08;22.04.3&#xff09;里安装 nvm &#xff08;Node Version Manager&#xff09; 简述 官网文档 &#xff08;github地址&#xff09;上有提到两种安装方式&#xff0c;一种是直接 curl | wget 命令安装&#xff0c;一…

Royal TSX v6.0.1(远程管理软件)

MacOS远程管理软件哪款好&#xff1f;Royal TSX mac是一款功能非常强大适用于 Mac 的远程连接管理工具。兼容多种连接类型&#xff0c;比如&#xff1a;RDP、VNC、基于SSH连接的终端&#xff0c;SFTP/FTP/SCP或基于Web的连接管理&#xff0c;Royal TSX 都可以满足您的要求&…

LLM之Prompt(二):清华提出Prompt 对齐优化技术BPO

论文题目&#xff1a;《Black-Box Prompt Optimization: Aligning Large Language Models without Model Training》 论文链接&#xff1a;https://arxiv.org/abs/2311.04155 github地址&#xff1a;https://github.com/thu-coai/BPO BPO背景介绍 最近&#xff0c;大型语言模…

学习笔记—吴恩达《AI for everyone》

【写在前面】 学习视频来源&#xff1a;B站“GPT中英字幕课程资源”&#xff08;见图片水印&#xff09;。 此文是自学笔记&#xff0c;主要是截图视频课件中的一些知识点&#xff0c;只做自学使用。 一. AI 介绍 二. 机器学习 Machine Learning 三. 什么是数据 What is AI 四…

玩转大模型行业应用,且看盘古大模型全栈工程能力展身手【云驻共创】

AI技术在金融和工业领域的应用不断扩展&#xff0c;促进了金融行业的数字化转型和产业升级。AI提供了专属财富管家和工业范式的解决方案&#xff0c;在金融领域的应用包括风险评估和投资建议&#xff0c;而在工业领域的应用则涵盖了数据分析和机器人操作。与此同时&#xff0c;…

神经网络中BN层简介及位置分析

1. 简介 Batch Normalization是深度学习中常用的技巧&#xff0c;Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (Ioffe and Szegedy, 2015) 第一次介绍了这个方法。 这个方法的命名&#xff0c;明明是Standardization, 非…

springcloud医院挂号预约系统源码

开发技术&#xff1a; jdk1.8&#xff0c;mysql5.7&#xff0c;nodejs&#xff0c;idea&#xff0c;vscode springcloud springboot mybatis vue elementui 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示医生列表&#xff0c;医院简介&#xff0c;点击医生…

Stable Diffusion专场公开课

从SD原理、本地部署到其二次开发 分享时间&#xff1a;11月25日14&#xff1a;00-17&#xff1a;00 分享大纲 从扩散模型DDPM起步理解SD背后原理 SD的本地部署:在自己电脑上快速搭建、快速出图如何基于SD快速做二次开发(以七月的AIGC模特生成系统为例) 分享人简介 July&#…

手把手设计C语言版循环队列(力扣622:设计循环队列)

文章目录 前言描述分析力扣AC代码 力扣&#xff1a; 622.设计循环队列 前言 队列会出现“假溢出”现象&#xff0c;即队列的空间有限&#xff0c;队列是在头和尾进行操作的&#xff0c;当元素个数已经达到最大个数时&#xff0c;队尾已经在空间的最后面了&#xff0c;但是对头…

北邮22级信通院数电:Verilog-FPGA(0)怎么使用modelsim进行仿真?modelsim仿真教程一份请签收~

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 最近很多uu问我怎么用quartus连接的modelsim软件进…