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 上使用 Linux 上不可用的命令來編寫此內容ipconfig
,因此可能會出現一些錯誤,請告訴我,我會嘗試解決這些問題。
#!/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