问题描述
出于某种原因,当我在终端中输入 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
请注意,您可能需要使用不同的网络名称,例如 eth1
、eth2
等。如果您收到有关未找到设备的错误,请尝试更改此项。
还要注意,接受的 “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
很难提取这些信息(我甚至不确定它是否有这些信息)所以我会说 ifconfig
和 ip 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: wifi
的 GENERAL.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