lsof命令与fuser命令详解

本文介绍了如何使用lsof和fuser命令来查看系统中被打开的文件及对应的进程信息。lsof提供了丰富的选项,如指定路径、用户、网络扫描等;而fuser则以轻量级的方式显示进程PID,支持更多的交互操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果要查看当前系统中打开的文件,lsof命令与fuser命令都可以实现。

1.lsof命令

lsof是LiSt Open Files的简写。
该用以给出系统中打开的文件的列表,并给出关联的进程和用户;此外还可以用以采集系统的网络连接信息。
该命令的常用参数说明:
+d d_path 只扫描给出的目录
+D d_path 递归扫描所有子目录
-i IP@host:port 扫描网络
-N 开启对NFS mount的扫描
-t 将输出结果序列号,常常用于脚本或管道中
-u UserID 扫描该用户打开的文件
2.fuser命令
fuser可以看作是轻量级的lsof。默认只给出系统中打开文件的进程PID。
该命令的常用参数说明:
-v 给出类似lsof命令的详细信息
-ik 在kill打开某文件的进程时提示确认
<think>我们正在回答用户关于Linux系统中查看端口命令的问题。用户已经提供了三个引用,我们需要结合这些引用来回答。 引用[1]主要介绍了netstat命令,引用[2]介绍了lsof命令,引用[3]补充了netstat的常用用法和一些其他命令(如dd,但dd端口无关,我们关注端口相关部分)。 根据引用,我们可以总结出以下命令: 1. netstat:最常用的命令,可以查看TCP和UDP的端口监听情况、连接状态等。 2. lsof:用于列出打开的文件,由于在Linux中一切皆文件,所以也可以用来查看端口占用情况。 另外,除了引用中提到的,我们还可以补充其他命令,如ss(Socket Statistics)和fuser,但用户没有提到,且引用中也没有,所以我们主要围绕netstat和lsof。 因此,回答将包括: 一、netstat命令的常用选项和示例 二、lsof命令的常用选项和示例 注意:用户要求使用中文回答,并且按照指定的格式(行内公式用$...$,独立公式用$$...$$,但本题可能不涉及数学公式,所以主要关注命令和代码块)。 同时,我们需要在回答中引用参考的段落,例如在介绍netstat时引用[1]和[3],在介绍lsof时引用[2]。 最后,生成相关问题。 结构如下: ### 1. netstat 命令 介绍netstat命令,并给出常用选项和示例(参考引用[1]和引用[3])。 ### 2. lsof 命令 介绍lsof命令,并给出常用选项和示例(参考引用[2])。 ### 3. 其他方法(可选,如果没有可以省略) 例如ss命令,但引用中没有,所以可以不提,或者简单提一下。 然后生成相关问题。 注意:用户要求生成相关问题,放在最后,格式如示例。</think>### Linux 系统中查看端口的命令详解Linux 系统中,查看端口占用情况主要通过以下两个核心命令实现: #### 1. **`netstat` 命令** 最常用的端口检查工具,可查看 TCP/UDP 连接状态、监听端口和进程信息[^1][^3] **常用组合选项**: ```bash netstat -tunlp ``` - `-t`:仅显示 TCP 连接 - `-u`:仅显示 UDP 连接 - `-n`:以数字形式显示地址(不解析域名) - `-l`:仅显示监听状态的端口 - `-p`:显示进程 ID 和名称(需 root 权限) **实用示例**: ```bash # 查看所有 TCP 监听端口及其进程 sudo netstat -tlnp # 检查特定端口(如 80)占用情况 netstat -tunlp | grep :80 # 查看所有 UDP 服务端口 netstat -ulnp ``` 输出示例: ``` Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd ``` #### 2. **`lsof` 命令** 更专业的端口分析工具,可精确关联进程端口[^2] **基础语法**: ```bash lsof -i [协议]:端口号 ``` **关键场景**: ```bash # 查看所有网络连接 lsof -i # 检查 3306 端口占用进程 lsof -i :3306 # 查看 TCP 协议 80-100 端口范围 lsof -i TCP:80-100 # 显示 IPv4 连接并过滤 Nginx 进程 lsof -i 4 -c nginx ``` 输出示例: ``` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 5678 root 6u IPv4 123456 0t0 TCP *:http (LISTEN) ``` #### 3. **命令对比选择建议** | 特性 | `netstat` | `lsof` | |--------------|-------------------------------|--------------------------------| | **数据源** | 内核网络栈 | /proc 文件系统 | | **优势** | 快速查看连接状态 | 精确关联进程资源 | | **适用场景** | 常规端口扫描 | 深度排查端口冲突 | | **性能** | 轻量级 | 资源消耗较高 | > **操作提示**: > - 普通用户查看端口建议优先使用 `netstat` > - 排查端口冲突时使用 `lsof` 获取详细进程信息 > - 需 root 权限才能查看所有进程的端口占用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值