《Linux中lsof的神奇探秘:打开文件的魔法与更多相似利器》

前言

在Linux的世界里,lsof(List Open Files)是一个强大的工具,它能帮助我们轻松查看系统上打开的文件及网络连接。然而,除了lsof之外,还有一些与它功能相似且同样强大的命令等待着我们去发现。本文将引领你深入探讨lsof的奇妙功能,并为你揭示更多类似的利器,助你更好地管理系统资源。

lsof的基础用法

lsof(List Open Files)命令用于列出当前系统中打开的文件、文件描述符和网络连接等信息。以下是 lsof 的一些基础用法:

查看打开的文件:

lsof

上述命令将列出系统中当前所有打开的文件和进程。

列出指定用户打开的文件:

lsof -u <username>

<username> 替换为具体的用户名。这个命令将列出指定用户打开的所有文件。

查看指定端口的网络连接:

lsof -i :<port>

<port> 替换为具体的端口号。这个命令将列出使用指定端口的网络连接信息。

例如,如果你想查看系统中所有使用端口号为 8080 的网络连接,可以运行:

lsof -i :8080

这将列出使用端口号为 8080 的网络连接的详细信息,包括进程名、进程 ID、用户等。

lsof 的更多选项和用法可以通过 man lsof 命令查看 lsof 的手册页。这样可以查看完整的 lsof 命令和选项说明,以便更好地利用这个工具。

lsof高级功能

lsof 提供了一些高级功能,可以进一步定制和筛选输出。以下是一些高级功能的使用示例:

列出被删除但仍然被打开的文件:

lsof -a +L1

这个命令将列出那些已被删除(unlinked)但仍然被打开的文件。+L1 表示列出被删除的文件,后面的数字表示链接数。

查看TCP和UDP连接详细信息:

lsof -i tcp
lsof -i udp

这两个命令分别列出所有的 TCP 和 UDP 连接详细信息。你也可以使用 lsof -i 来列出所有网络连接。

通过正则表达式进行过滤:

lsof -i :80 | grep LISTEN

这个命令列出所有监听端口 80 的网络连接,然后通过 grep 进行进一步过滤,只显示包含 “LISTEN” 的行。

查看指定目录下的打开文件:

lsof /path/to/directory

这个命令将列出指定目录下的所有打开文件,包括目录本身。

列出指定用户和指定端口的文件:

lsof -i -a -u <username> -i :<port>

<username> 替换为具体的用户名,<port> 替换为具体的端口号。这个命令将列出指定用户和指定端口的文件信息。

这些高级功能允许你更精细地筛选和查看系统上的打开文件和进程信息。使用 lsof 时,可以根据具体需求选用适当的选项和过滤条件。

更多替代利器:netstat和ss

netstatss 是两个用于查看系统网络状态的命令,它们提供了关于网络连接、路由表、接口统计等方面的信息。在某些系统中,ss 已经逐渐取代了 netstat

使用 netstat 查看系统网络状态:

netstat -a

上述命令将列出所有的网络连接和监听端口。-a 选项表示显示所有连接,包括监听和非监听状态。

使用 ss 查看系统网络状态:

ss

ss 命令的默认行为类似于 netstat -a,它显示所有的套接字连接。相比于 netstatss 提供了更多的过滤和显示选项,使得查看网络状态更加灵活。

ss 的一些用法示例:

  • 查看所有的 TCP 连接:
ss -t
  • 查看所有的 UDP 连接:
ss -u
  • 查看所有监听的端口:
ss -l
  • 查看所有的 UNIX 套接字:
ss -x
  • 显示所有详细信息,包括进程信息:
ss -e

ss 的输出格式更加简洁和易读,而且在性能上相对更高效,因此在一些现代的 Linux 系统中,ss 已经取代了 netstat。在新的系统或环境中,建议优先使用 ss

总体而言,ss 提供了更多的选项和更好的性能,是 netstat 的一个强大替代工具。

文件系统探秘:lstat和stat

lstatstat 是用于查看文件属性的两个常见命令,它们提供了有关文件的详细信息,包括文件类型、权限、所有者、大小等。

使用 lstat 查看符号链接信息:

lstat 命令用于显示符号链接文件的信息,而不是显示符号链接指向的实际文件的信息。以下是 lstat 的一些用法示例:

lstat <filename>

<filename> 替换为具体的文件名。这个命令将显示符号链接文件本身的信息,而不是它指向的文件的信息。

使用 stat 获取文件详细属性:

stat 命令用于显示文件的详细属性,包括文件的大小、权限、所有者、修改时间等。以下是 stat 的一些用法示例:

stat <filename>

<filename> 替换为具体的文件名。这个命令将显示文件的详细属性信息。

例如,要查看文件 example.txt 的属性,可以运行:

stat example.txt

输出可能包含文件类型、权限、所有者、大小、修改时间等信息。

这两个命令在查看文件信息时非常有用。lstat 主要用于查看符号链接文件的信息,而 stat 则用于查看文件的详细属性。选择使用哪个命令取决于你想要查看的信息和文件类型。

总结:

通过本文的学习,你将不仅掌握lsof的强大功能,还将了解到其他一些同样好用的命令。这些工具能够在不同的场景中帮助你更好地管理和调试系统资源。让我们一起走进Linux文件查看的神秘世界,发掘更多隐藏在命令行后的魔法吧!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB | 官方举办的动图绘制大赛 | 第四周(收官周)赛情回顾

MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)圆满结束&#xff0c;虽然我的水平和很多大佬还有比较大的差距&#xff0c;但所有奖也算是拿满了&#xff1a; 专家评选前三名&#xff0c;以及投票榜前十&#xff1a;~ 每周的阶段性获奖者&#xff1a; 下面…

【Python】手把手教你用tkinter设计图书管理登录UI界面(三)

上一篇&#xff1a;【Python】手把手教你用tkinter设计图书管理登录UI界面&#xff08;二&#xff09;-CSDN博客 下一篇&#xff1a; 紧接上一篇文章&#xff0c;继续完善项目功能&#xff1a;用户登录。由于老王的注册部分有亿点点复杂&#xff0c;还没完成&#xff0c;但是…

ngixn 准备

确认yum可用&#xff0c;确认防火墙&#xff0c;确认SELinux 一项安装 yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel参数&#xff1a; gcc&#xff1a;编译依赖gcc环境 pcre&#xff1a;PCRE(Perl Compatible Regular Expressions)是一…

鸿蒙OS应用开发的开发环境

鸿蒙OS应用开发的开发环境 鸿蒙系统发展越来越快&#xff0c;已经开始走进千家万户&#xff0c;从手机到电视机&#xff0c;再到汽车&#xff0c;以后各种手表、智能设备等等。这已经是一个广泛应用的操作系统&#xff0c;也是跟大家生活密切相关的操作系统。要想在这个平台上…

Git命令---查看远程仓库

介绍 使用git命令查看绑定的远程仓库。 命令 git remote -v

Kubernetes里的DNS;API资源对象ingress;Kubernetes调度;节点选择器NodeSelector;节点亲和性NodeAffinity

Kubernetes里的DNS K8s集群内有一个DNS服务&#xff1a; kubectl get svc -n kube-system |grep dns测试&#xff1a; 在tang3上安装bind-utils,目的是安装dig命令 yum install -y bind-utils apt install dnsutils #ubuntu上 解析外网域名 dig 10.15.0.10 www.baidu.com…

NSSCTF-Crypto靶场练习--第11-20题wp

文章目录 [SWPUCTF 2021 新生赛]traditional[LitCTF 2023]梦想是红色的 (初级)[SWPUCTF 2021 新生赛]crypto2[羊城杯 2021]Bigrsa[LitCTF 2023]Hex&#xff1f;Hex&#xff01;(初级)[SWPU 2020]happy[AFCTF 2018]BASE[安洵杯 2019]JustBase[鹤城杯 2021]Crazy_Rsa_Tech[SWPUCT…

顺序表的应用

1. 顺序表 1.1 写法1 Linear_Opeartor2.c #include "stdio.h" #include "stdlib.h" #include "stdbool.h" #include "string.h" //顺序表//申明顺序表的大小 #define MAXSIZE 5 typedef bool status; //创建顺序表 int *Linear_Creat…

DockerFile中途执行出错的解决办法

DockerFile中途执行出错的解决办法 你们是否也曾经因为DockerFile中途执行出错,而对其束手无策?总是对docker避之不及! 但是当下载的源码运用到了docker,dockerFile 执行到一半,报错了怎么办? 现状 那么当DockerFile执行一半出错后,会产生什么结果呢? 如图可知,生成…

我们常说的流应用到底是什么?

流应用是DCloud公司开发的一种可以让手机App安装包实现边用边下的技术。基于HTML5规范的即点即用应用&#xff0c;开发者按照HTML5规范开发的应用&#xff0c;可以在支持HTML5流应用的发行渠道实现即点即用的效果。 流应用是基于 HTML5规范的即点即用应用&#xff0c;开发者按照…

Nacos注册中心客户端容灾

目前Nacos客户端有一个FailoverReactor来进行容灾文件的管理&#xff0c;可以通过在指定磁盘文件里写入容灾数据来进行客户端使用数据的覆盖。FailoverReactor目前会拦截Nacos客户端查询接口调用&#xff0c;以getAllInstances接口为例&#xff0c;目前FailoverReactor的工作流…

【合集】SpringBoot——Spring,SpringBoot,SpringCloud相关的博客文章合集

前言 本篇博客是spring相关的博客文章合集&#xff0c;内容涵盖Spring&#xff0c;SpringBoot&#xff0c;SpringCloud相关的知识&#xff0c;包括了基础的内容&#xff0c;比如核心容器&#xff0c;springMVC&#xff0c;Data Access&#xff1b;也包括Spring进阶的相关知识&…

免费的网页数据抓取工具有哪些?【2024附下载链接】

在网络上&#xff0c;有许多网页数据抓取工具可供选择。本文将探讨其如何全网采集数据并支持指定网站抓取。我们将比较不同的数据采集工具&#xff0c;帮助您找到最适合您需求的工具。 网页数据抓取工具种类 在选择网页数据抓取工具之前&#xff0c;让我们先了解一下这些工具…

TC397 EB MCAL开发从0开始系列 之 [21.2] FlsLoader配置实战 - 擦除读写Pflash

一、FlsLoader配置1、配置目标2、目标依赖2.1 硬件使用2.2 软件使用2.3 新增模块3、EB配置3.1 配置讲解3.2 模块配置3.2.1 MCU配置3.2.2 PORT配置3.2.3 FlsLoader配置3.2.5 Irq配置3.2.6 ResourceM配置4、ADS代码编写及调试<

[ 蓝桥杯Web真题 ]-布局切换

目录 介绍 准备 目标 规定 思路 解法参考 介绍 经常用手机购物的同学或许见过这种功能&#xff0c;在浏览商品列表的时候&#xff0c;我们通过点击一个小小的按钮图标&#xff0c;就能快速将数据列表在大图&#xff08;通常是两列&#xff09;和列表两种布局间来回切换。…

电机:有刷直流电机的原理

一、什么是有刷直流电机 直流有刷电机&#xff08;Brushed DC Motor&#xff09;&#xff0c;定子是用永磁铁或者线圈做成&#xff0c;以形成固定磁场。在定子一端上有固定碳刷&#xff0c;或者铜刷&#xff0c;负责把外部电流引入转子线圈。而转子是由线圈构成&#xff0c;线…

邮件营销软件:10个创新邮件营销策略,提升投资回报率(一)

电子商务和电子邮件营销密不可分。尽管电子商务在蓬勃发展&#xff0c;而很多人对邮件营销颇有微词。但是在电子商务中&#xff0c;邮件营销的确是一种有效营销方式。在本文中&#xff0c;我们将讨论一下邮件营销在电子商务中的有效运用&#xff0c;帮助您的企业在今年尽可能地…

2023-12-05 Qt学习总结6

点击 <C 语言编程核心突破> 快速C语言入门 Qt学习总结 前言十八 QMessageBox消息对话框十九 Qt布局管理总结 前言 要解决问题: 学习qt最核心知识, 多一个都不学. 十八 QMessageBox消息对话框 QMessageBox消息对话框是Qt中的一个提供用户交互界面的对话框窗口。 它通常…

MyBatis 四大核心组件之 ParameterHandler 源码解析

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

【图片版】计算机组成原理考前复习题【第2章 运算方法和运算器-1】

目录 前言 考前复习题&#xff08;必记&#xff09; 结尾 前言 在计算机组成原理的学习过程中&#xff0c;我们深入探索了计算机系统概述这一重要领域。计算机系统作为现代科技的核心&#xff0c;是整个计算机科学的基石。我们将学到的知识与理论转化为了能够解决现实问题的…