0

0

Linux进阶命令-lsof

看不見的法師

看不見的法師

发布时间:2025-06-20 12:06:02

|

750人浏览过

|

来源于php中文网

原创

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux进阶命令-lsof

在上一章节中,我们详细讲解了Linux系统自带的日志服务,帮助大家对其有了初步的了解。接下来,我们将深入探讨一些进阶命令,这些命令涵盖了系统操作、系统查看和处理、Linux文本处理、逻辑判断、重定向、网络传输、服务启动、文件句柄等方面。通过学习这些操作,您将能够更加灵活地操作Linux系统。具体内容将分为以下章节进行讲解:

Linux进阶命令-echo&date&alias

Linux进阶命令-top

Linux进阶命令-ps&kill

Linux进阶命令-sort&wc

Linux进阶命令-sed&split

Linux进阶命令-awk&uniq

Linux进阶命令-逻辑或&逻辑与

Linux进阶命令-重定向

Linux进阶命令-scp

Linux进阶命令-rsync

Linux进阶命令-rsync-daemon

Linux进阶命令-nohup&screen

Linux进阶命令-lsof(本章节)

Linux进阶命令-小结

在介绍Linux入门-Linux目录时,我们提到过,Linux系统中一切皆文件;在讲解Linux基础软件-库文件时,我们也提到,库文件实际上是系统自带的一些函数的集合,普通应用程序通过调用这些函数来实现对文件的增删查改等操作。同样,在Linux中有一个命令lsof,可以用来显示所有打开的文件。这个命令与ps命令类似,ps用于查看所有进程,而lsof则用于查看所有打开的文件。

沁言学术
沁言学术

你的论文写作AI助理,永久免费文献管理工具,认准沁言学术

下载

lsof

lsof是一个在类Unix操作系统中用于列出打开文件的工具。这个命令的名字源自“list open files”的缩写。在Unix和类Unix系统中,文件不仅仅指的是磁盘上的文件,还包括各种类型的文件,如目录、设备、管道、套接字等。使用lsof命令,您可以查看哪些进程打开了哪些文件,以及这些文件的状态。

在最小化安装的情况下,lsof命令通常不会自带,需要手动安装。

yum -y install lsof

常用选项和用法

  1. 列出所有打开的文件
lsof

这个命令将列出系统中所有打开的文件和相关的进程信息,但由于信息量巨大,通常不具备参考意义,除非用于过滤和搜索。

  1. 根据文件名查找
lsof /path/to/file

显示哪个进程打开了指定路径的文件。

  1. 根据进程ID查找
lsof -p 

显示指定进程ID打开的所有文件。在实际应用中,如果某些应用程序找不到它们使用的配置或日志文件,可以通过这种方式找到它们所使用的配置或日志文件。

  1. 根据用户查找
lsof -u 

显示由指定用户打开的所有文件。

  1. 根据端口查找
lsof -i :

显示所有使用指定端口的网络连接和进程,可以替代netstat和ss命令的部分功能。

  1. 查看网络文件
lsof -i

列出所有网络连接和相关的进程,相当于ss和netstat命令。

  1. 查看目录文件
lsof +D /usr

列出该目录下被打开的文件。

  1. 检查是否有删除的文件仍然被打开
lsof | grep '(deleted)'

显示那些被删除的文件仍然被进程打开,因此某些未确定的大文件可以通过Linux进阶命令-重定向的方式来释放空间。

COMMAND:启动文件的命令名。PID:进程ID。TID:线程ID(对于多线程进程)。USER:打开文件的用户。FD:文件描述符,指示文件在进程中的访问方式。TYPE:文件类型(如REG表示常规文件,DIR表示目录,CHR表示字符设备等)。DEVICE:设备号,标识文件所在的设备。SIZE/OFF:文件大小或偏移量。NODE:文件的节点号。NAME:文件的名称或路径。

总结

lsof最常用的可能是找出删除文件而空间未释放的问题,也就是第八个用法。当然,这个时候文件仍然可以恢复,具体内容将在讲解proc时详细说明。

Linux进阶命令-lsof

相关专题

更多
sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

386

2023.09.04

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

481

2023.08.10

Python 多线程与异步编程实战
Python 多线程与异步编程实战

本专题系统讲解 Python 多线程与异步编程的核心概念与实战技巧,包括 threading 模块基础、线程同步机制、GIL 原理、asyncio 异步任务管理、协程与事件循环、任务调度与异常处理。通过实战示例,帮助学习者掌握 如何构建高性能、多任务并发的 Python 应用。

143

2025.12.24

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号