在Linux操作系统中,如何查看当前系统有几块物理网卡设备?

Linux系统中,查看网卡数量是网络管理的基础操作,无论是排查网络问题、配置网络服务还是监控系统状态,都需要准确掌握网卡的识别信息,Linux提供了多种命令和工具来查看网卡信息,下面将详细介绍几种常用方法,帮助用户全面了解如何识别系统中的网卡数量及类型。

linux如何查看有几块网卡

使用ip命令(推荐方法)

ip命令是iproute2工具包的核心命令,现代Linux发行版(如Ubuntu、CentOS、Debian等)默认已安装,功能强大且信息全面,通过ip命令可以查看网卡的名称、状态、MAC地址、IP地址等详细信息。

基本语法:

ip a

ip link show

输出解读:

执行ip a后,终端会显示所有网络接口的详细信息,每块网卡对应一个开头的段落。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/00:1a:2b:3c:4d:5f brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/52:54:00:ab:cd:ef brd ff:ff:ff:ff:ff:ff
  • 网卡数量统计:上述输出中,开头的数字序号(如1:2:3:4:)对应不同的网络接口,其中lo是环回接口(虚拟网卡,用于本地通信),eth0eth1物理网卡virbr0是虚拟网桥(通常由KVM、Docker等虚拟化工具创建),统计时需排除lo,实际物理网卡+虚拟网卡数量为4-1=3块。
  • 关键信息eth0eth1等是网卡名称(通常物理网卡以ethens开头,虚拟网卡以virbrdockerlo开头);state UP/DOWN表示网卡是否启用;link/后跟的是MAC地址。

使用ifconfig命令(传统方法)

ifconfignet-tools工具包中的命令,在早期Linux系统中广泛使用,但部分现代发行版(如Ubuntu 20.04+)默认未安装,需手动安装。

linux如何查看有几块网卡

安装方法(以Ubuntu为例):

sudo apt update && sudo apt install net-tools

基本语法:

ifconfig -a

输出解读:

执行ifconfig -a后,会显示所有网络接口的配置信息,包括已启用(UP)和未启用(DOWN)的网卡。

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:1a:2b:3c:4d:5e  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6789  bytes 987654 (964.2 KiB)
        TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1a:2b:3c:4d:5f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
virbr0: flags=4099<BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:ab:cd:ef  txqueuelen 1000  (Ethernet)
  • 网卡数量统计:同样需排除loeth0eth1virbr0共3块网卡。flags中的UP表示网卡已启用,BROADCAST表示支持广播,RUNNING表示网卡正在工作。

查看/sys/class/net/目录

Linux内核通过/sys/class/net/目录暴露所有网络接口的信息,直接列出该目录下的子目录即可获取所有网卡名称,无需安装额外工具。

基本语法:

ls /sys/class/net/

输出示例:

eth0  eth1  lo  virbr0
  • 网卡数量统计:目录名称即为网卡名称,排除lo后,eth0eth1virbr0共3块网卡,此方法最简单,仅返回网卡名称,适合快速统计数量。

使用lspci命令查看物理网卡硬件信息

若需区分物理网卡和虚拟网卡(如虚拟化环境中的虚拟网卡),可通过lspci命令列出PCI设备,并过滤网卡相关硬件。

安装方法(以Ubuntu为例):

sudo apt install pciutils

基本语法:

lspci | grep -i 'ethernet|network'

输出示例:

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
  • 物理网卡识别:每行对应一块物理网卡的硬件信息,Ethernet controllerNetwork controller标识网卡类型,此方法仅能统计物理网卡数量,无法识别虚拟网卡(如virbr0docker0等)。

使用nmcli命令(NetworkManager工具)

nmcli是NetworkManager的命令行工具,适用于桌面版或服务器版Linux,可结合网络管理查看网卡状态。

linux如何查看有几块网卡

基本语法:

nmcli device status

输出示例:

DEVICE  TYPE      STATE        CONNECTION
eth0    ethernet  connected    eth0
eth1    ethernet  disconnected --  
lo      loopback  unmanaged    --  
virbr0  bridge    disconnected --  
  • 网卡数量统计DEVICE列即为网卡名称,排除lounmanaged表示非管理状态),eth0eth1virbr0共3块网卡。STATE列显示网卡连接状态(connected/disconnected)。

不同命令对比总结

命令 所属工具包 功能特点 适用场景
ip a iproute2(默认) 信息全面,包含状态、MAC、IP等 日常查看、网络配置
ifconfig -a net-tools(需安装) 传统命令,兼容旧系统 遗留系统维护
ls /sys/class/net/ 内核文件系统 仅返回网卡名称,简单快速 快速统计数量
lspci | grep pciutils(需安装) 仅显示物理网卡硬件信息 区分物理/虚拟网卡
nmcli device status NetworkManager 结合网络管理状态,适合桌面/服务器环境 网络服务管理

相关问答FAQs

问题1:执行ifconfig命令时报错“command not found”,如何解决?

解答ifconfig属于net-tools工具包,部分现代Linux发行版(如Ubuntu 20.04+、CentOS 8+)默认未安装,可通过以下命令安装:

  • Ubuntu/Debian
    sudo apt update && sudo apt install net-tools
  • CentOS/RHEL/Rocky Linux
    sudo yum install net-tools

    安装后执行ifconfig -a即可查看所有网卡信息。

问题2:如何区分物理网卡和虚拟网卡?

解答:可通过以下方法区分:

  1. 接口名称:物理网卡通常以eth(传统命名)、ens(Predictable Network Interface Names,新系统默认)开头,如eth0ens33;虚拟网卡常见名称有lo(环回)、virbr0(虚拟网桥,KVM/Docker)、docker0(Docker默认网桥)、wlan0(无线虚拟网卡)等。
  2. lspci命令:物理网卡可通过lspci | grep -i 'ethernet'查看到硬件信息,虚拟网卡无对应PCI设备记录。
  3. ethtool命令:安装ethtool后,执行sudo ethtool -i <网卡名>查看驱动,物理网卡驱动通常为e1000igbr8169等,虚拟网卡驱动多为virtio_net(KVM)、hv_netvsc(Hyper-V)等。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38720.html

(0)
酷番叔酷番叔
上一篇 2025年10月9日 03:22
下一篇 2025年10月9日 03:39

相关推荐

  • Linux环境下未分配的磁盘空间如何进行正确分区、挂载和格式化操作?

    在Linux系统中,未分配磁盘通常指新硬盘、分区表未初始化的磁盘,或分区后未被格式化、挂载的空间,处理未分配磁盘需经历识别、分区、格式化、挂载等步骤,本文将详细说明操作流程及注意事项,识别未分配磁盘操作前需先确认系统中未分配磁盘的设备名称,Linux中磁盘设备通常位于/dev/目录下,IDE磁盘为/dev/hd……

    2025年10月2日
    3800
  • linux服务器如何校时

    Linux 服务器上,可使用 ntpdate 命令或配置

    2025年8月18日
    5200
  • Linux下如何删除用户?命令与操作步骤详解

    在Linux系统中,用户管理是系统维护的核心任务之一,当不再需要某个用户账号时,及时删除不仅能提升系统安全性,还能释放相关资源,但删除用户操作需谨慎,若处理不当可能导致数据丢失或权限混乱,本文将详细介绍Linux下删除用户的完整流程、命令参数、注意事项及特殊情况处理,帮助用户安全、高效地完成操作,删除用户的准备……

    2025年9月17日
    4400
  • 在配置虚拟机安装Linux的过程中,有哪些关键步骤和注意事项需要掌握?

    配置虚拟机安装Linux是许多开发者和系统管理员常用的技术,既能避免破坏物理系统,又能灵活进行环境测试,以下是详细的配置步骤,从准备工作到系统安装及优化,涵盖关键操作细节,帮助顺利完成Linux虚拟机的搭建,准备工作在开始配置前,需确保硬件和软件满足基本要求,这是虚拟机稳定运行的基础,硬件要求:CPU:支持虚拟……

    2025年10月4日
    3000
  • Linux如何解除SSH免密登录配置?

    Linux系统中,免密登录通常基于SSH密钥认证实现,通过将本地公钥添加到远程服务器的~/.ssh/authorized_keys文件中,实现无需输入密码即可登录,若需要解除免密登录(如安全需求变更、密钥泄露或仅需临时禁用),可通过以下方法操作,具体场景和步骤如下:解除免密登录的核心方法免密登录的核心是SSH密……

    2025年9月22日
    3800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信