По какой-то причине, когда я ввожу 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
Не совсем уверен, что проблема здесь или как подойти к этому
ipconfig - это программа для Windows. Ближайшим для linux является ifconfig, но вопреки тому, что говорят другие (включая принятый «ответ»), это не то же самое и не дает того же выходной вообще.
Одной из ключевых недостающих частей информации в 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
и т. Д. Если вы получаете сообщение об ошибке устройства не найден, попробуйте изменить это.
Также обратите внимание, что принятый «ответ» также неверен в том смысле, что вам не нужно использовать «sudo» для этой команды.
Ubuntu / Linux-эквивалент ipconfig в Windows - это 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.
Если это так, используйте ifconfig
. Он выдаст тот же вывод, что и ipconfig
в Windows.
Если это так используйте ifconfig. Это даст вам тот же результат, что и ipconfig в Windows. Но ifconfig
теперь ip a
.
ifconfig
эквивалентен
ip addr show
, и, поскольку аргумент объекта может быть сокращен, а значения команды по умолчанию отображаются, также
ip a
2020 UPDATE (Ubuntu 18+)
Тем не менее, используйте nmcli
в качестве эквивалентной команды, как предлагает Марти Фрид.
Исходя из Windows, когда вы выполняете ipconfig
, вы, вероятно, ожидаете увидеть кучу информации, такой как сетевые интерфейсы, адреса ipv4, ipv6, DNS-сервер, шлюзы по умолчанию и т. д. К сожалению, как и Марти Фрид упоминает в своем ответе, что 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
'
В моем случае меня интересует только мой Wi-Fi, поэтому я буду использовать имя GENERAL.DEVICE
моего GENERAL.TYPE: wifi
и:
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