在Linux系统里,lsof这个工具,也就是列出打开文件,是极为强大的了,它可显示当下系统上被进程打开的文件信息,不管是普通文件,还是目录,又或者是设备文件抑或是网络连接,lsof都能给出详细列表,可以帮系统管理员诊断问题,还能监控系统活动,掌握lsof的安装以及使用,对任何Linux用户而言都是必备技能,它能让你更深入地领会系统的运行状态。
Linux lsof 安装方法有哪些
大多数Linux发行版里linux lsof 安装,lsof能经包管理器轻易安装,比如基于Debian的系统像Ubuntu上,可使用apt命令,即sudo apt update && sudo apt install lsof
,此过程一般很快,因lsof包含于主流发行版官方仓库中,安装完毕后,能通过运行lsof -v
验证安装是否成功并查看版本信息。
在基于Red Hat的系统之中,像CentOS或者Fedora这样的系统而言吧,可以运用yum或者dnf命令,也就是sudo yum install lsof
,还有sudo dnf install lsof
。要是你的系统并没有预先安装这些包管理器的话,那么很可能是需要先去配置仓库源的。在安装完成之后呢,lsof会马上就生效,并不需要进行额外的配置。要是记得在安装之前去更新包索引的这样一个操作,才能确保获取到最新版本的。
为什么需要安装linux lsof
lsof在系统管理里起着非常关键的作用,同时在故障排查方面也是如此,比如说,要是有某个文件因为被占用而无法去删除之时,lsof能够迅速地找出与之相关的进程,它还能够对网络连接展开监控,以此来协助识别潜在的安全威胁或者性能瓶颈,在开发者以及运维人员看来来说,lsof是调试应用程序的有力工具,能够显示出文件描述符泄漏等问题。
日常工作里,我常借助lsof去检查端口占用情形,像运用lsof -i :8080
来查看是哪个进程于使用8080端口,这相较于手动搜索/proc目录要高效好多,另外,lsof的输出能够跟其他工具(像grep)相联合,达成更复杂的分析工作,总而言之,安装lsof能够明显提高系统可见性以及问题解决效率。
linux lsof 安装失败怎么办
要是安装lsof之际碰到错误,头一件事便是检查网络连接以及包管理器配置。身处基于APT的系统之时,要运行sudo apt update
去刷新仓库列表;于YUM系统当中,需尝试sudo yum clean all
。要是错误提示存在依赖问题,能够手动去解决,好比安装缺失的库文件这种情况。有时候,系统版本太过陈旧会致使出现兼容性问题,要考虑升级系统或者运用源码编译。
存在另一个常见的问题,此问题为权限不足,要确保以可施行 sudo 的方式或者以 root 用户的身份去执行安装命令,如果包管理器寻觅不到 lsof 包,那么有可能是仓库未被启用,这种情形下需要对位于 /etc/apt/sources.list 或者 /etc/yum.repos.d/ 里的配置文件进行编辑,当作最后的手段,能够从官网下载源码来进行编译安装,不过这是需要开发工具链的,而且步骤相对较为复杂。
linux lsof 如何编译安装
预编译包无法使用时,编译安装是可靠之选,先从官方镜像或者GitHub下载最新源码包,像用wget获取tar.gz文件,解压后走进目录,运行./configure
检查系统依赖并生Makefile,若配置时报错,依据提示安装缺失开发库,如libc-dev 。
开展make
对源码进行编译此程序的相关操作,这极有可能需要耗费几分钟的时长linux手机,在完成此项操作之后,行使sudo make install
这一指令把二进制文件装置至系统路径当中(就好比/usr/local/bin),编译安装的行为能够使你拥有自定义选项的能力并且获取到最新的特性,然而务必留意维护更新这一要点,在安装结束之后,对lsof命令是否具有可用性做到能够验证,并且思考将其添加至PATH环境变量之中。
linux lsof 安装后如何测试
安装完毕之后,提议运行基础测试以便保证功能处于正常状态。试着运用lsof -h
去查看帮助文档,核查所有选项呈现正确无误。而后,执行lsof
命令(不带有参数)去罗列所有已打开的文件,输出或许会很长,能够借助lsof | head -10
去预览部分成果。测试特定的功能,像是lsof -u username
来过滤指定用户的文件。
去进行另一个实用的测试,此测试是要检查网络连接,通过lsof -i
来显示所有网络活动情况,要是输出是为空或者报了错,那么有可能需要去检查权限,因为普通用户可能无法看到系统进程,你也能够去模拟相应场景linux lsof 安装,就像打开一个文件然后在另一个终端用lsof进行监控,当测试通过之后,lsof就能够投入到日常使用当中 。
linux lsof 常见使用场景
lsof
在多种场景之下发挥着重要作用,比如说,当出现磁盘空间不足这个情况的时候,运用lsof +L1
去查找已经被删除然而却依旧被进程占用的文件,也就是空间没有被释放的文件linux删除文件夹,在网络排查的过程当中,使用lsof -i TCP:22
能够列举出所有的SSH连接,以此来帮助检测未授权访问,对于Web服务器而言,监控日志文件的打开状况能够预防写入方面的问题。
在开发环境里,lsof被用来调试文件锁,lsof还被用于调试资源泄漏,举例来说,运行lsof -p PID
去查看特定进程的所有打开文件,并且结合grep来过滤可疑条目,定期运用lsof对系统进行审计,能够提前发现异常模式,进而避免故障升级,总而言之,lsof是维护系统健康的瑞士军刀。
当你运用lsof之时,遭遇过什么样的饶有趣味或者棘手麻烦的问题呢,欢迎于评论区域分享你个人经历予以交流探讨,倘若认为这篇文章具备实用价值,请进行点赞以及转发给予支持鼓励!