OS X 中使用命令行来管理网络
最近用 Alfred 写了一些 小工具 ,涉及到网络操作。
由于我的电脑 睡眠耗电 的问题,不得不在睡眠前关闭 Wi-Fi 网络。在 OS X 中,有这样一些命令与网络操作相关。
airport 是一个隐藏的命令,路径如下:
1/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
使用它可以做一些网络相关工作,例如使用 airport -I
可以获取当前WIFI的信息:
1 agrCtlRSSI: -55
2 agrExtRSSI: 0
3 agrCtlNoise: -93
4 agrExtNoise: 0
5 state: running
6 op mode: station
7 lastTxRate: 217
8 maxRate: 217
9lastAssocStatus: 0
10 802.11 auth: open
11 link auth: wpa2
12 BSSID: 0:8:2f:b1:00:99
13 SSID: Baina-WiFi
14 MCS: 23
15 channel: 161
使用 airport -z
可以断开当前的WIFI连接。就像我们按住 ALT
点击无线信号图标可以做的那样。
不幸的是,airport
是一个隐藏工具,按照 Apple 的尿性,我们并不知道什么时候它会消失。而且,一些操作必须使用 sudo
权限才可以处理,这不太方便。
在 OS X 中,使用 networksetup
工具是最方便的。例如,要关闭 Wi-Fi 网络,可以这样调用:
1networksetup -setairportpower 'Wi-Fi' off
显示结果为:
Wi-Fi is not a Wi-Fi interface. Turning on the only airport interface found: en0
因此,也可以这样调用:
1networksetup -setairportpower en0 off
开启 Wi-Fi 网络,则可以这样写:
1networksetup -setairportpower en0 on
使用 ifconfig
也能实现类似功能:
1# 关闭网络
2sudo ifconfig en0 down
3# 启动网络
4sudo ifconfig en0 up
但同样的,ifconfig
需要 sudo 权限,因此没有 networksetup 那么方便。
(全文完)
- 文章ID:2551
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/osx-network-command-line/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。