当前位置: 首页>>技术教程>>正文


ipconfig 不工作

问题描述

出于某种原因,当我在终端中输入 ipconfig 时,它只返回以下内容:

No command 'ipconfig' found, did you mean:
 Command 'tpconfig' from package 'tpconfig' (universe)
 Command 'iwconfig' from package 'wireless-tools' (main)
 Command 'ifconfig' from package 'net-tools' (main)
ipconfig: command not found

不太清楚这里的问题是什么或如何解决这个问题

最佳回答

Windows 中 ipconfig 的 Ubuntu/Linux 等效程序是 ifconfig。

尝试输入 sudo ifconfig

结果将会像这样:


eth0      Link encap:Ethernet  HWaddr 00:0c:29:94:37:b6  
          inet addr:192.168.1.231  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe94:37b6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:519374 errors:0 dropped:0 overruns:0 frame:0
          TX packets:110611 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:332864737 (332.8 MB)  TX bytes:11113451 (11.1 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:33651 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33651 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2951078 (2.9 MB)  TX bytes:2951078 (2.9 MB)

次佳回答

ipconfig 是一个 Windows 程序 – 最接近的 Linux 程序是 ifconfig,但与其他人(包括已接受的 “answer”)所说的相反,它并不相同,并且根本没有给出相同的输出。

ifconfig 中缺少的关键信息之一是 DNS 地址;它们不存在,而且没有简单的方法可以找到它。在我的系统上,我有一个别名来显示一些类似这样的信息:

nmcli dev list iface eth0 | grep IP4

这将列出我通常想要查看的大部分信息。在我的系统上,它显示:

$ nmcli dev list iface eth0 | grep IP4
IP4-SETTINGS.ADDRESS:                   192.168.1.110
IP4-SETTINGS.PREFIX:                    24 (255.255.255.0)
IP4-SETTINGS.GATEWAY:                   192.168.1.1
IP4-DNS1.DNS:                           8.8.8.8
IP4-DNS2.DNS:                           8.8.4.4

请注意,您可能需要使用不同的网络名称,例如 eth1eth2 等。如果您收到有关未找到设备的错误,请尝试更改此项。

还要注意,接受的 “answer” 也是不正确的,因为您不需要对此命令使用 “sudo”。

第三种回答

如果是这种情况,请使用 ifconfig。它将提供与 Windows 上的 ipconfig 相同的输出。但 ifconfig 现在是 ip a

ifconfig

相当于

ip addr show

并且,由于对象参数可以缩写,并且命令默认为显示,因此也可以

ip a

第四种回答

我假设您正在寻找将显示与 ipconfig 在 Windows 上相同的信息的命令。

如果是这种情况,请使用 ifconfig ,它是 net-tools 包的一部分。它将提供与 Windows 上的 ipconfig 相同的输出。

sudo apt install net-tools

第五种回答

2020 更新(Ubuntu 18+)

不过,按照 Marty Fried 的建议,使用 nmcli 作为等效命令。

从 Windows 开始,当您执行 ipconfig 时,您可能会看到大量信息,例如网络接口、ipv4、ipv6 地址、dns 服务器、默认网关等。不幸的是,正如 Marty Fried 在他的回答中提到的,ifconfig 很难提取这些信息(我甚至不确定它是否有这些信息)所以我会说 ifconfigip addr show 并不是真正等同于 ipconfig 的命令,因为它们缺少所有这些信息。

但是您可以使用 nmcli

nmcli dev show eth0

解释:

您可以先列出所有网络接口设备以获取设备名称:

nmcli dev show | grep DEVICE

# output
: '
GENERAL.DEVICE:                         wlp5s0
GENERAL.DEVICE:                         br-877527cf5a41
GENERAL.DEVICE:                         docker0
GENERAL.DEVICE:                         enp3s0
GENERAL.DEVICE:                         veth9938f55
GENERAL.DEVICE:                         veth9d03338
GENERAL.DEVICE:                         lo
'

或者查看网络设备类型:

nmcli dev show | grep -E 'DEVICE|TYPE'

# output
: '
GENERAL.DEVICE:                         wlp5s0
GENERAL.TYPE:                           wifi
GENERAL.DEVICE:                         br-877527cf5a41
GENERAL.TYPE:                           bridge
GENERAL.DEVICE:                         docker0
GENERAL.TYPE:                           bridge
GENERAL.DEVICE:                         enp3s0
GENERAL.TYPE:                           ethernet
GENERAL.DEVICE:                         veth9938f55
GENERAL.TYPE:                           ethernet
GENERAL.DEVICE:                         veth9d03338
GENERAL.TYPE:                           ethernet
GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
'

就我而言,我只对我的 wifi 感兴趣,所以我将使用我的 GENERAL.TYPE: wifiGENERAL.DEVICE 名称:

nmcli dev show wlp5s0

# output
: '
GENERAL.DEVICE:                         wlp5s0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         34:DE:1A:6D:9B:51
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     room-501
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         192.168.8.101/24
IP4.GATEWAY:                            192.168.8.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.8.1, mt = 600
IP4.ROUTE[2]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.ROUTE[3]:                           dst = 192.168.8.0/24, nh = 0.0.0.0, mt = 600
IP4.DNS[1]:                             192.168.8.1
IP4.DOMAIN[1]:                          lan
IP6.ADDRESS[1]:                         fe80::710e:1bee:cdb4:e281/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]:                           dst = fe80::/64, nh = ::, mt = 256
IP6.ROUTE[3]:                           dst = fe80::/64, nh = ::, mt = 600
'

以下是您可以添加到 ~/.bashrc~/.bash_aliases 的功能:

function ipconfig() {
    for i in `seq 1 100`; do printf "-"; done; echo "";
    nmcli dev show $1 | grep -E 'DEVICE|TYPE|HWADDR|MTU|STATE|CON|ADDRESS|GATEWAY|ROUTE|DNS|DOMAIN|^$' | awk '!NF{for(i=0; i<=100; i++) printf "-";}1';
    for i in `seq 1 100`; do printf "-"; done; echo "";
}

用法:

ipconfig # show details of all devices
ipconfig eth0 # show only details of eth0

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14611.html,未经允许,请勿转载。