losf命令详解
一、概念:
lsof全名list opened files,也就是列举系统中已经被打开的文件,进程打开的端口(TCP、UDP)。linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。所以,用好lsof命令,对日常的linux管理非常有帮助,也可以对系统监测以及排错将是很有帮助
使用lsof --help查看常用的数据语法:

二、展示的字段含义:

1、COMMAND:默认以9个字符长度显示命令名称。可使用+c参数指定显示的宽度,若+c后跟的参数为零,则显示命令的全名(-c)
2、PID:进程的ID号(-p )
3、PPID:父进程标识符(需要指定-R参数)
4、TID:如果是一个线程,显示线程 ID
5、USER:命令的执行UID或系统中登陆的用户名称。(-u)
6、FD:文件描述符 File Descriptor number,应用程序通过文件描述符识别该文件(-d)
7、TYPE:类型
8、DEVICE:使用character special、block special表示的设备号
9、SIZE/OFF:文件的大小,如果不能用大小表示的,会留空。
10、NODE:本地文件的inode id,索引节点(文件在磁盘上的标识)
11、NAME:挂载点和文件的全路径(链接会被解析为实际路径),或者连接双方的地址和端口、状态等
其中:FD文件描述符列表
(1)cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
(2)txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
(3)lnn:library references (AIX)(库引用);
(4)er:FD information error (see NAME column)(fd信息错误);
(5)jld:jail directory (FreeBSD)(监控目录);
(6)ltx:shared library text (code and data)(共享库文本);
(7)mxx :hex memory-mapped type number xx(十六进制内存映射类型号xx);
(8)m86:DOS Merge mapped file(DOS合并映射文件);
(9)mem:memory-mapped file(内存映射文件);
(10)mmap:memory-mapped device(内存映射设备);
(11)pd:parent directory(父目录);
(12)rtd:root directory(跟目录);
(13)tr:kernel trace file (OpenBSD)(内核跟踪文件);
(14)v86 VP/ix mapped file(VP/IX映射文件);
(15)0:表示标准输出
(16)1:表示标准输入
(17)2:表示标准错误
三、lsof常用语句详解
1. losf 文件名
作用:显示这个文件(ufile)被哪个程序调用
lsof /var/lib/mysql

2. lsof -c systemd
作用:显示systemd进程使用了哪些文件

3. lsof -p pid
作用:显示pid进程使用了哪些文件

4. lsof -i:端口号xx
作用:显示xx端口被哪些ip使用

5. lsof +d 文件目录
作用: 显示文件目录下被打开的文件,不递归

6. lsof +D 文件目录
作用: 显示文件目录下被打开的文件,递归

7. lsof -u username
作用:显示用户打开的文件

losf命令详解的更多相关文章
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Top 命令详解
Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...
- Ruby Gem命令详解
转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.o ...
随机推荐
- ERROR: manifest for elasticsearch:latest not found: manifest unknown: manife
当我们用docker下载 elasticsearch 的时候出现如下错误: 这里错误的原因是没有发现最新版,需要我们指定版本. docker pull elasticsearch:7.12.0 那我们 ...
- TypeScript let与var的区别
1.作用域不同 用var声明的变量,只有函数作用域和全局作用域,没有块级作用域.而let可以实现块级作用域,只能在代码块{}内有效,在{}之外不能访问,如下代码所示: { let a = 0; var ...
- 没想到吧,Spring中还有一招集合注入的写法
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. Spring作为项目中不可缺少的底层框架,提供的最基础的功能就是bean的管理了.bean的注入相信大家都比较熟 ...
- 一文搞懂 Netty 发送数据全流程 | 你想知道的细节全在这里
欢迎关注公众号:bin的技术小屋,如果大家在看文章的时候发现图片加载不了,可以到公众号查看原文 本系列Netty源码解析文章基于 4.1.56.Final版本 在<Netty如何高效接收网络数据 ...
- PTA(BasicLevel)-1023 组个最小数
一. 问题定义 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位). 例如:给定两个 0,两个 1,三个 5,一个 8,我 ...
- Go flag 详解,实现二级子命令
前言 日常开发使用到的命令行工具大都支持如下特性: 文档自动生成(如 -h --help) 多级子命令(如 docker exec -it) 支持参数(如 ls -color=auto) 长短选项(如 ...
- java中的内存划分和一个数组的内存图
内存概述 内存是计算机中的重要原件,临时存储区域,作用是运行程序.我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存 Java虚拟机要运行程序 ...
- 使用docker buildx打包发布多平台镜像
2022-07-07 个人比较喜欢影视作品,下载了大量的剧集视频,有些文件的命名不规范,就需要重新命名,之前是用的一款 renamer 客户端软件,用起来不太爽就自己做了个 bs 架构的重命名软件并开 ...
- 通过memberlist库实现gossip管理集群以及集群数据交互
通过memberlist库实现gossip管理集群以及集群数据交互 概述 memberlist库的简单用法如下,注意下面使用for循环来执行list.Join,原因是一开始各节点都没有runing,直 ...
- Java开发学习(十二)----基于注解开发依赖注入
Spring为了使用注解简化开发,并没有提供构造函数注入.setter注入对应的注解,只提供了自动装配的注解实现. 1.环境准备 首先准备环境: 创建一个Maven项目 pom.xml添加Spring ...