Bash Shell命令来查找或获取IP地址
如何从bash shell命令提示符中找到我的Linux/UNIX系统ip地址,子网和相关网络信息?
如何从命令行确定我的私有和公共IP地址?
要查找Linux/UNIX/* BSD/macOS和Unixish系统的IP地址,需要在Unix上使用名为ifconfig的命令,在Linux上使用ip命令或主机名命令。
这些命令用于配置内核驻留的网络接口并显示IP地址,例如10.8.0.1或192.168.2.254。
它在引导时用于根据需要设置接口。
之后,通常仅在调试或需要系统调整时才需要它。
Bash Shell命令来查找或获取IP地址
如果没有为ifconfig命令提供参数,它将显示当前活动接口的状态。
它显示了以太网IP地址,Mac地址,子网掩码和其他信息。
键入以下/sbin/ipconfig命令以显示IP地址和相关的网络信息:
$ /sbin/ifconfig
或键入以下命令:
$ /sbin/ifconfig | less
在Solaris和其他Unixish操作系统下,您可能需要使用-a选项键入ifconfig命令,如下所示:
$ /sbin/ifconfig -a
输出示例:
eth0 Link encap:Ethernet HWaddr 00:0F:EA:91:04:07 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20f:eaff:fe91:407/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31167 errors:0 dropped:0 overruns:0 frame:0 TX packets:26404 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:38338591 (36.5 MiB) TX bytes:3538152 (3.3 MiB) Interrupt:18 Base address:0xc000 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:1994 errors:0 dropped:0 overruns:0 frame:0 TX packets:1994 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:188041 (183.6 KiB) TX bytes:188041 (183.6 KiB)
在上面的示例中,192.168.1.2是eth0以太网接口的IP地址。
当然,根据您的Unix系统版本和网卡驱动程序,NIC(网络接口卡)名称将有所不同。
这是我基于macOS Unix的桌面的输出:
/sbin/ifconfig /sbin/ifconfig en0
使用ifconfig显示FreeBSD Unix服务器的私有IP地址
只需运行:
ifconfig ifconfig -a ifconfig em0
在Unix上查找默认路由信息
我们需要输入以下命令:
# netstat -rn
FreeBSD Unix默认路由
使用主机名查找Linux上本地计算机的IP地址
我们也可以使用hostname命令来确定Linux服务器的IP地址。
打开终端应用程序,并执行主机名命令,如下所示:
# hostname -I
输出示例:
192.168.2.25
Linux ip命令
建议您在基于Linux的系统上使用ip命令。
ip命令显示有关ip地址的信息,操纵路由,网络设备,接口,隧道等。
以下ip命令将显示分配给系统的所有ip地址:
# ip addr show
要查看有关名为eth0 ip地址的NIC的信息,请输入:
# ip addr show eth0
输出示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether b8:ac:6f:65:31:e5 brd ff:ff:ff:ff:ff:ff inet 192.168.2.100/24 brd 192.168.2.255 scope global eth0 inet6 fe80::baac:6fff:fe65:31e5/64 scope link valid_lft forever preferred_lft forever
输入以下命令以列出来自bash shell的所有网络接口:
# ip link show
Linux命令显示默认路由
语法如下:
ip route show ip r s route -n
default via 10.8.0.1 dev tun0 proto static metric 50 default via 192.168.2.254 dev enp0s31f6 proto static metric 100 10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2 metric 50 10.83.200.0/24 dev lxdbr0 proto kernel scope link src 10.83.200.1 139.xxx.yyy.zzz via 192.168.2.254 dev enp0s31f6 proto static metric 100 192.168.2.0/24 dev enp0s31f6 proto kernel scope link src 192.168.2.25 metric 100 192.168.2.254 dev enp0s31f6 proto static scope link metric 100
Bash命令显示Linux和Unix系统的公共IP地址
我们可以使用如下所示的host命令或dig命令来显示Linux或Unix系统的公共IP地址:
host myip.opendns.com resolver1.opendns.com
或者
dig +short myip.opendns.com @resolver1.opendns.com
如何在Linux上的命令行中找到我的公共IP地址