OS X 终端是否有命令可以显示只有最重要的有关您的机器的 IP 配置信息?我知道有“ifconfig”,但这会带来一堆(大多数情况下)不必要的信息。我只想知道我当前的IP、子网掩码、默认网关和 DNS。
更新
netstat -rn 的输出
Axels-MacBook-Air:~ axelkennedal$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.164.192.1 UGSc 75 0 en0
10.164.192/19 link#4 UCS 3 0 en0
10.164.192.1 c0:62:6b:e2:7a:c0 UHLWIir 76 20 en0 1150
10.164.206.216 127.0.0.1 UHS 0 25 lo0
10.164.223.255 ff:ff:ff:ff:ff:ff UHLWbI 0 14 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 4 644 lo0
169.254 link#4 UCS 0 0 en0
Internet6:
Destination Gateway Flags Netif Expire
::1 ::1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 UcI lo0
fe80::1%lo0 link#1 UHLI lo0
fe80::%en0/64 link#4 UCI en0
fe80::7ed1:c3ff:fef1:9b1f%en0 7c:d1:c3:f1:9b:1f UHLI lo0
ff01::%lo0/32 ::1 UmCI lo0
ff01::%en0/32 link#4 UmCI en0
ff02::%lo0/32 ::1 UmCI lo0
ff02::%en0/32 link#4 UmCI en0
答案1
据我所知,没有一个命令可以为您提供所有想要的信息。您需要运行几个不同的命令。最简单的方法可能是创建一个小脚本来为您执行此操作。我在 Linux 上使用 Linuxipconfig
上不可用的命令编写此程序,因此可能会出现一些错误,请告诉我,我会尝试解决它们。
#!/bin/bash
## Get the ip
ip=$(ipconfig getifaddr en0)
## Get the DNS server(s), this assumes Wi-Fi
dns=$(networksetup -getdnsservers Wi-Fi)
## Get the gateway
gateway=$(netstat -rn | awk 'NR==3{print $2}')
## And the netmask
mask=$(netstat -rn | awk 'NR==4{print $3}')
## Pretty print
cat<<EOF
IP : $ip
Gateway : $gateway
Netmask : $mask
DNS : $dns
EOF
将该脚本另存为或任何内容到您的(例如)netinfo.sh
目录中,使其成为可执行文件( )然后运行它:$PATH
/usr/local/bin
chmod a+x /usr/local/bin/netinfo.sh
$ netinfo.sh
答案2
希望这有帮助。我认为没有一个命令可以显示该信息。
ifconfig en1 | grep inet && scutil --dns | grep nameserver && netstat -nr | grep default