Linux如何使用nm-tool查看网络状态

发布时间 - 2025-09-13 00:00:00    点击率:
nm-tool是Linux下查看NetworkManager管理的网络状态的简易工具,可显示接口、IP、网关、DNS等信息;其输出包括NetworkManager整体状态、设备连接状态及IPv4/IPv6配置,适用于快速诊断网络问题;若命令未找到需安装network-manager或启用NetworkManager服务;尽管nm-tool直观易用,但现代系统已逐步弃用它,推荐使用功能更强大的nmcli进行网络管理。

在Linux系统上,当你想快速了解当前的网络连接状态时,

nm-tool
是一个非常直接且实用的命令行工具,它能帮你一目了然地查看由NetworkManager管理的所有网络接口、IP地址、网关、DNS服务器等关键信息。它就像一个简易的网络状态仪表盘,让你无需深入配置文件就能掌握网络概况。

解决方案

使用

nm-tool
查看网络状态其实非常简单,你只需要在终端中输入
nm-tool
并回车。

nm-tool

执行这个命令后,它会列出你系统上所有由NetworkManager管理的网络设备及其当前状态。这包括无线(Wi-Fi)、有线(Ethernet)接口,以及它们的连接ID、IP地址、子网掩码、默认网关和DNS服务器等详细信息。

我个人觉得

nm-tool
的魅力就在于它的直接和简洁,虽然功能不如
nmcli
强大,但在某些紧急时刻,它就是那个能让你快速摸清状况的趁手工具。比如,当你的网络突然断开,或者你怀疑IP地址配置有问题时,
nm-tool
能迅速提供一个概览,帮你定位问题的大致方向。它不会给你一堆复杂的选项,直接把最核心的信息呈现出来。

nm-tool显示的信息具体有哪些,我该如何解读?

nm-tool
的输出通常会分为几个主要部分,理解这些部分对于快速诊断网络问题至关重要。

首先,你会看到一个“NetworkManager State”部分,它会告诉你NetworkManager服务本身是处于“connected”、“disconnected”还是“connecting”状态。这基本上是整个网络管理服务的健康指示器。如果这里显示“disconnected”,那可能你的网络问题就出在NetworkManager服务层面。

接着,是“Device”列表,这里会列出你的所有网络适配器,比如

eth0
(有线)或
wlan0
(无线)。每个设备都会有自己的状态,比如“connected”、“disconnected”或“unavailable”。如果一个设备显示“unavailable”,那可能意味着驱动有问题或者硬件未被识别。

在每个“Device”下方,如果设备处于连接状态,你还会看到更详细的连接信息。这包括:

  • Type: 设备的类型,如“Ethernet”或“Wi-Fi”。
  • State: 设备当前的连接状态,通常是“connected”。
  • Capabilities: 设备支持的功能,比如“Ethernet (wired)”或“Wi-Fi (wireless)”.
  • Wireless SSIDs: 如果是Wi-Fi设备,会显示当前连接的SSID名称。
  • IPv4 Settings: 这是最关键的部分之一。它会显示你的IP地址(
    Address
    )、子网掩码(
    Prefix
    ,通常以CIDR格式表示,如
    /24
    )、默认网关(
    Gateway
    )以及DNS服务器(
    DNS
    )。这些信息直接决定了你的机器能否正确地在局域网内通信,并访问互联网。如果你的IP地址是169.254.x.x,那通常意味着没有从DHCP服务器获取到有效IP。
  • IPv6 Settings: 如果你的系统支持并配置了IPv6,这里也会显示相应的IPv6地址和DNS信息。

我通常会先看“NetworkManager State”是不是“connected”,然后检查我的主用网络设备(比如

eth0
wlan0
)的状态是否也是“connected”。如果都正常,我就会去核对IPv4设置里的IP地址、网关和DNS是不是我预期中的。有时候,DNS服务器配置错误会导致能ping通IP地址但无法访问域名的情况,这时候
nm-tool
就能很快帮你发现问题。

nm-tool无法运行或显示错误,我该如何排查?

在使用

nm-tool
时,偶尔会遇到它无法运行或者输出不正常的情况。这通常不是
nm-tool
本身的问题,而是其依赖的服务或环境出了状况。

一个常见的情况是,终端提示

nm-tool: command not found
。这说明你的系统上可能没有安装
network-manager
包,或者它不在你的PATH环境变量中。解决办法很简单,对于基于Debian/Ubuntu的系统,你可以尝试:

sudo apt update
sudo apt install network-manager

对于基于RHEL/CentOS/Fedora的系统:

sudo dnf install NetworkManager # 或者 sudo yum install NetworkManager

安装完成后,通常就可以正常使用了。

另一个可能的原因是NetworkManager服务没有运行。

nm-tool
是NetworkManager的客户端工具,如果后台服务都没启动,它自然也无法获取到任何信息。你可以通过以下命令检查NetworkManager服务的状态:

systemctl status NetworkManager

如果服务没有运行,你可以尝试启动它:

sudo systemctl start NetworkManager

并设置开机自启:

sudo systemctl enable NetworkManager

有时候,权限问题也可能导致

nm-tool
无法获取到完整信息,但这种情况相对较少,因为
nm-tool
通常设计为普通用户也能查看基本网络状态。如果遇到奇怪的权限错误,可以尝试使用
sudo nm-tool
,但这在大多数情况下是不必要的。

在我个人经验里,最常遇到的还是NetworkManager服务挂掉或者没有安装,一旦解决了这两个核心问题,

nm-tool
基本上就能正常工作了。

在现代Linux系统中,nm-tool是否还有用武之地,或者有更好的替代方案?

说实话,

nm-tool
虽然简洁,但在现代Linux发行版中,它已经被
nmcli
(NetworkManager Command Line Interface)所取代,并且在很多系统上,
nm-tool
甚至已经被标记为“deprecated”(不推荐使用)或者直接不再预装。

这并不是说

nm-tool
完全没有用处了。对于那些只想快速瞥一眼网络状态,不希望处理复杂命令的用户来说,
nm-tool
依然是一个直观的选择。它的输出格式相对固定,易于阅读,这在一些快速诊断场景下确实很方便。

然而,如果你需要更精细地控制NetworkManager,比如创建、修改或删除连接,或者需要进行更复杂的网络配置,那么

nmcli
无疑是更强大、更灵活的替代方案。
nmcli
提供了更多的子命令和选项,几乎可以完成NetworkManager GUI工具能做的一切,而且它更适合脚本化操作。

举个例子,用

nm-tool
查看状态是:

nm-tool

而用

nmcli
查看类似信息,你可以这样:

nmcli device show
nmcli connection show

nmcli
的输出可能一开始看起来有点复杂,因为它提供了更多的细节,但一旦你熟悉了它的语法,你会发现它远比
nm-tool
强大。例如,用
nmcli
可以轻松地连接到一个Wi-Fi网络:

nmcli device wifi connect "你的SSID" password "你的密码"

或者修改一个连接的IP地址:

nmcli connection modify "连接名称" ipv4.addresses 192.168.1.100/24
nmcli connection modify "连接名称" ipv4.gateway 192.168.1.1
nmcli connection modify "连接名称" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up "连接名称"

所以,我的建议是,如果你只是偶尔需要快速查看一下网络状态,并且系统上还有

nm-tool
,那用它没什么问题。但如果你是Linux的重度用户,或者需要进行更高级的网络管理,那么学习和使用
nmcli
绝对是值得的投资。它不仅功能更全面,也是NetworkManager未来发展的方向。


# linux  # word  # centos  # wifi  # ubuntu  # 工具  # ai  # 环境变量  # dns  # dnf  # gateway  # 接口  #   # Interface  # debian  # 你可以  # 就能  # 帮你  # 它会  # 如果你  # 网络管理  # 推荐使用  # 我该  # 用它  # 更强大 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel如何实现多对多模型关联?(Eloquent教程)  js代码实现下拉菜单【推荐】  网站建设整体流程解析,建站其实很容易!  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  ,怎么在广州志愿者网站注册?  中国移动官方网站首页入口 中国移动官网网页登录  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  如何登录建站主机?访问步骤全解析  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  独立制作一个网站多少钱,建立网站需要花多少钱?  免费网站制作appp,免费制作app哪个平台好?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何在阿里云服务器自主搭建网站?  如何快速搭建高效WAP手机网站?  如何用PHP快速搭建CMS系统?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  javascript如何操作浏览器历史记录_怎样实现无刷新导航  javascript读取文本节点方法小结  Laravel如何配置任务调度?(Cron Job示例)  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  如何在宝塔面板中修改默认建站目录?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何在万网ECS上快速搭建专属网站?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何彻底卸载建站之星软件?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何为不同团队 ID 动态生成多个非值班状态按钮  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  ,网页ppt怎么弄成自己的ppt?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何创建自定义Facades?(详细步骤)  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  Laravel怎么使用Intervention Image库处理图片上传和缩放  Swift中swift中的switch 语句  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  教你用AI将一段旋律扩展成一首完整的曲子  JS经典正则表达式笔试题汇总  详解Oracle修改字段类型方法总结