linux lsof命令(lsof指令)

这篇具有很好参考价值的文章主要介绍了linux lsof命令(lsof指令)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单解释

lsof是一个用于列出当前系统打开的文件的命令行工具,它可以显示系统中所有打开的文件,包括网络连接、管道、设备、目录和普通文件等。

lsof命令的基本语法如下:

lsof [options]

其中,options是可选参数,可以用来指定lsof的输出格式、过滤条件等。

下面是一些常用的lsof命令选项:

  • -a:表示逻辑与,用于指定多个过滤条件之间的关系;
  • -c:表示按进程名过滤;
  • -d:表示按文件描述符过滤;
  • -g:表示按组ID过滤;
  • -i:表示按网络连接过滤;
  • -p:表示按进程ID过滤;
  • -u:表示按用户ID过滤;
  • -t:表示只输出进程ID;
  • -F:表示指定输出格式;
  • -h:表示不显示列名;
  • -n:表示不解析主机名;
  • -P:表示不解析端口号;
  • -r:表示指定输出间隔时间;
  • -s:表示按文件大小过滤;
  • -T:表示指定输出格式。

例如,要列出所有打开的文件,可以使用以下命令:

lsof

要列出指定进程打开的文件,可以使用以下命令:

lsof -p <pid>

要列出指定用户打开的文件,可以使用以下命令:

lsof -u <username>

要列出指定文件名的进程,可以使用以下命令:

lsof <filename>

要列出指定端口号的进程,可以使用以下命令:

lsof -i :<port>

要列出指定目录下打开的文件,可以使用以下命令:

lsof <directory>

除了以上常用的选项外,lsof还支持很多其他的选项,可以通过man lsof命令查看完整的帮助文档。

lsof命令详解

lsof是一个在Unix及类Unix环境(包括Linux)下用来查看当前系统文件被哪些进程打开的工具。其名称取自英文“List Open Files”的首字母,直译过来就是列出打开的文件。然而,“打开的文件”并不仅仅指磁盘上的文件,还可以是网络套接字、设备、管道等。

基础使用

命令格式

lsof [options] [names]

lsof没有必须的参数,如果直接运行lsof命令,则会列出所有打开的文件。但在实际使用中,我们通常会配合一些选项和参数使用。

查看指定进程打开的文件

lsof -p <pid>

其中,<pid>为你要查询的进程ID。

linux lsof命令(lsof指令)

查看指定用户打开的文件

lsof -u <username>

其中,<username>为你要查询的用户名。

linux lsof命令(lsof指令)

查看指定程序打开的文件

lsof /path/to/program

其中,/path/to/program为你要查询的程序的路径。

linux lsof命令(lsof指令)

选项详解

lsof有大量的选项,这里列举几个常用的:

  • -a:and条件连接符,当需要同时满足多个条件时使用
  • -b:不重新读取已打开文件的信息,防止系统阻塞
  • -d <descriptors>:列出指定文件描述符打开的文件
  • -D <directory>:搜索某个目录下被打开的文件
  • -n:不解析网络号和端口号,提高查询速度
  • -P:不解析端口名字,提高查询速度

输出详解

lsof命令的输出包含以下几个字段:

  • COMMAND:进程的名称
  • PID:进程标识符
  • USER:进程所有者
  • FD:文件描述符,cwd、txt、err等
  • TYPE:文件类型,例如REG(常规)、DIR(目录)、CHR(字符设备)等
  • DEVICE:设备编号
  • SIZE/OFF:文件大小或节点
  • NODE:索引节点
  • NAME:文件路径名

高级应用

查找占用指定端口的进程

lsof -i :<port>

其中,<port>为你要查询的端口号。

linux lsof命令(lsof指令)

linux lsof命令(lsof指令)

linux lsof命令(lsof指令)

查找删除但磁盘空间未释放的文件

lsof | grep '(deleted)'

当你删除一个大文件后,发现磁盘空间没有增加,这可能是因为还有进程在使用该文件。此时可以使用上述命令查找。

linux lsof命令(lsof指令)
linux lsof命令(lsof指令)

查找特定目录下被打开的文件

lsof +D <directory>

其中,<directory>为你要查询的目录。

linux lsof命令(lsof指令)

linux lsof命令(lsof指令)

结语

lsof是一个非常强大的工具,可以帮助我们解决很多问题,比如查找占用端口的进程、查找删除后磁盘空间未释放的文件等。希望通过本文的介绍,能够帮助读者更好地理解和使用lsof命令。文章来源地址https://www.toymoban.com/news/detail-433762.html

到了这里,关于linux lsof命令(lsof指令)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【珍藏版】linux lsof命令详解

    一、lsof命令简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分

    2024年02月13日
    浏览(46)
  • Linux shell编程学习笔记47:lsof命令

    今天国产电脑提示磁盘空间已耗尽,使用用df命令检查文件系统情况,发现/dev/sda2已使用100%。 Linux shell编程学习笔记39:df命令 https://blog.csdn.net/Purpleendurer/article/details/135577571 于是开始清理磁盘空间。 第一步是查看已删除、但空间却没有释放的进程。 这里要用到 lsof命令。

    2024年04月27日
    浏览(44)
  • Linux基础命令-lsof查看进程打开的文件

    Linux基础命令-uptime查看系统负载 Linux基础命令-top实时显示系统状态 Linux基础命令-ps查看进程状态 文件目录 前言 一 命令的介绍 二 语法及参数 2.1 使用help查看命令的语法信息 2.2 常用参数 2.2.lsof命令-i参数的条件 三 命令显示内容的含义 3.1 FD 文件描述符的类型 3.2 文件描述符

    2024年02月16日
    浏览(52)
  • 【Linux】教你用进程替换制作一个简单的Shell解释器

    本章的代码可以访问这里获取。 由于程序代码是一体的,本章在分开讲解各部分的实现时,代码可能有些跳跃,建议在讲解各部分实现后看一下源代码方便理解程序。 我们想要制作一个简单的 Shell 解释器,需要先观察Shell是怎么运行的,根据 Shell 的运行状态我们再去进行模

    2024年02月02日
    浏览(71)
  • linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

    1.1 使用查看端口号对应的进程信息 方式一 : 使用netstat命令 -t:显示TCP连接 -u:显示UDP连接 -l:仅显示监听状态的连接 -n:以数字形式显示端口号,而不是以服务名称显示 通过管道符号|将netstat的输出结果传递给grep命令,用于过滤出包含指定端口号的行。 执行命令后,终端

    2024年02月04日
    浏览(63)
  • 【linux命令讲解大全】076.pgrep命令:查找和列出符合条件的进程ID

    根据用户给出的信息在当前运行进程中查找并列出符合条件的进程ID(PID) 补充说明 pgrep 命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程ID。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个

    2024年02月09日
    浏览(41)
  • Linux学习之nginx虚拟域名主机,lsof和netstat命令查看端口是否被监听

    需要先参考我的博客《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装好 Openresty 。 虚拟域名可以使用让不同的域名访问到同一台主机。 cd /usr/local/openresty 切换当前访问目录到 /usr/local/openresty 。 在 /usr/local/openresty/nginx/co

    2024年02月11日
    浏览(48)
  • Linux报too many open files的解决方案及 lsof、sysctl 命令介绍

    服务器异常: 一串的etc下的shell文件报 /etc/profile.d/bash_completion.sh: Too many open files in system 查看当前操作系统允许打开的文件数 发现设置为655360,执行lsof|wc -l命令为871031,和设定的值还有很大差距,为什么还会报too many open files呢,突然想起还有一个地方设置最大文件数 使用命

    2024年02月21日
    浏览(39)
  • 【Shell 命令集合 磁盘管理 】Linux 列出目录中的文件和子目录 ls命令使用教程

    Shell 命令专栏:Linux Shell 命令全解析 ls命令是Linux系统中常用的一个命令,用于列出目录中的文件和子目录。它的作用是显示当前工作目录中的文件和目录列表。 当我们在终端输入ls命令时,系统会将当前目录中的文件和子目录的名称以及相关信息显示出来。这些信息包括文

    2024年02月08日
    浏览(109)
  • Linux ls命令教程:如何有效地列出文件和目录(附案例详解和注意事项)

    ls 是Linux中的基本命令之一,任何Linux用户都应该知道。 ls 命令列出文件系统中的文件和目录,并显示有关它们的详细信息。它是所有Linux发行版都安装的GNU核心实用程序包的一部分。 ls 命令在所有Linux发行版中都是可用的,包括但不限于Ubuntu, Debian, Fedora, CentOS等。如果你发现

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包