
lsof 命令是 “List Open Files(列出打开的文件)” 的缩写,它是 Linux 操作系统中的一个强大工具,可提供有关各种进程打开的文件的重要信息。这条多功能命令允许系统管理员监控和管理文件、套接字和 *** 连接,提供系统内资源使用情况的全面视图。
与 netstat 和 fuser 命令类似,lsof 命令用于识别不同进程正在访问的文件,是故障排除和系统维护不可或缺的工具。无论你是寻求解决冲突的 *** 管理员,还是希望优化资源分配的开发人员,lsof 命令(通常与 等命令一起使用)都是你工具包中的得力助手。
lsof 命令许多 Linux 发行版都预装了 lsof 命令。不过,如果你的系统上没有,也可以使用发行版专用的软件包管理器轻松安装。
基于 Debian 的系统(如 Ubuntu)
安装:
sudo apt-get update sudo apt-get install lsof
卸载:
sudo apt-get remove lsof
基于红帽的系统(如 CentOS、RHEL)
使用 安装(旧版本):
sudo yum install lsof
使用 安装(较新版本):
sudo dnf install lsof
使用 Yum 卸载:
sudo yum remove lsof
使用 DNF 卸载:
sudo dnf remove lsof
Fedora
安装(旧版本使用 Yum):
sudo yum install lsof
安装(使用 DNF 的较新版本):
sudo dnf install lsof
使用 Yum 卸载:
sudo yum remove lsof
使用 DNF 卸载:
sudo dnf remove lsof
lsof语法: lsof
说明:列出系统中所有打开的文件。
示例: lsof
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 253,1 4096 2 / bash 1234 user txt REG 253,1 111350 123456 /bin/bash
该输出会显示所有打开的文件,包括命令名称、进程 ID ( PID )、用户、文件描述符 ( FD )、类型、设备、大小和文件路径。
语法: lsof -u <username>
说明:列出特定用户打开的所有文件。
示例: lsof -u john
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 5678 john cwd DIR 253,1 4096 78901 /home/john
该输出会列出用户 john 打开的所有文件,包括命令名称、PID、用户和其他详细信息。
语法: lsof -p <PID>
说明:列出特定进程 ID 使用的所有文件。
示例: lsof -p 1234
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1234 user cwd DIR 253,1 4096 78901 /home/user
该输出列出了 PID 为 1234 的进程使用的所有文件,包括命令名称、PID、用户和其他详细信息。
语法: lsof -i :<port>
说明:列出与特定 *** 端口相关联的所有文件。
示例: lsof -i :80
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME apache 1234 www-data 4u IPv4 12345 0t0 TCP *:http (LISTEN)
此输出列出了与 80 端口(通常用于 HTTP)相关的所有文件。其中包括命令名称、PID、用户和其他与 *** 连接相关的详细信息。
语法: lsof -c <command_name>
说明:列出特定命令打开的所有文件。
示例: lsof -c sshd
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1234 root cwd DIR 253,1 4096 2 /
该输出会列出 sshd 命令打开的所有文件,包括命令名称、PID、用户和其他详细信息。
语法: lsof +D <directory>
说明:列出在特定目录或文件系统中打开的所有文件。
示例: lsof +D /var
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME syslog 567 root 5w REG 253,2 4096 12345 /var/log/syslog
该输出会列出在 /var 目录中打开的所有文件,包括命令名称、PID、用户和其他详细信息。
语法: lsof -i <protocol>
说明:列出使用特定协议(如 TCP 或 UDP)的所有 *** 文件。
示例: lsof -i TCP
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1234 root 3u IPv4 56789 0t0 TCP *:ssh (LISTEN)
此输出会列出所有 TCP *** 连接,包括命令名称、PID、用户和其他与 *** 连接相关的详细信息。
语法: lsof -u ^<username>
说明:列出所有文件,但不包括特定用户打开的文件。
示例: lsof -u ^john
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 253,1 4096 2 /
该输出列出了除用户 john 打开的文件外的所有文件,包括命令名称、PID、用户和其他详细信息。
| 目录操作 | · · · · |
| 文件操作 | · · · · · · · · |
| 文件系统操作 | · · |
| *** | · · · · |
| 搜索和文本处理 | · · · · · · |
| 系统信息和管理 | · · · · · · |
| 用户和会话管理 | · · · |
使用宝塔面板,您可以快速地创建一个FTP管理账户,对网站文件进行管理。但有必要提醒大家的是,使用FTP远不如使用SFTP安全,你可以查看文章“”进一步了解两者之间的差异。 此外,宝塔面板的文件管理模块其实已经能够满足站长的大部分文件管理需求。当然,如果你非得要使用FTP管理服务器文件,可以参照以下...
宝塔面板其中一个最为便捷的功能之一,无需SFTP或者FTP即可对服务器的文件内容进行上传、下载、编辑及删除等管理操作。 文件管理,用于管理该服务器上的文件内容。 文件的基础操作 文件的基础操作有哪些了,主要有这些方面:复制、粘贴、剪切、删除、重命名、压缩、刷新、新建文件、新建目录。...
由于市场上有各种可用的数据库,用户经常会就MongoDB与MySQL进行辩论,以找出更好的选择。 使用MySQL等关系数据库的组织在根据不断变化的需求管理和存储数据时可能会面临一定的困难。同时,新公司想知道选择什么数据库,这样他们就不会在开发过程中遇到问题。 同时,构建金融应用程序的开发人员...
PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...
美国劳工统计局估计在美有超过软件开发人员。根据2021年的数据,其中,这是世界上使用最广泛的五种编程语言之一。 自然,学习Java并成为Java开发人员对于任何对软件开发感兴趣的人来说都是明智的职业选择。 在本综合指南中,您将学习成为Java开发人员所需的一切知识。我们将分解您需要的技能、工...
Node.js和PHP是Web开发工作中常用的两种基本Web技术。两者都为服务器端开发做出了贡献,Node.js甚至同时服务于客户端和服务器端开发。 PHP已经为开发人员服务了近3年,现在它为78%的网络提供支持。相比之下,Node.js相对较新,但扩展速度非常快,由于其全栈开发能力而成为流行...