macOS命令行小秘笈
macOS基于Unix系统,日常使用总会用到一些Terminal命令用来提高工作效率,或更好的完成任务。
开发类
- 查看Swift真正方法:
xcrun swift-demangle SYMBOL xxx
- 检查执行程序或库的依赖以及依赖路径
otool -L <Path>
- 动态库dylib无法加载的原因调试
printf(dlerror());
- 检查执行程序或库的导出函数
nm -m <Path>
- 查看使用了XPC的程序
find /Applications/ -name \*.xpc >> xpc.txt
- 卸载kext脚本
sudo kextunload /Library/Extensions/xxx.kext
sudo rm -rf /Library/Extensions/xxx.kext
- 检查程序是否签名
codesign -vvv <Path>/xxx.app
- 查看Swift版本
xcrun swift -version
- 默认xcode路径以及选择
xcode-select -print-path
xcode-select -s /Applications/Xcode.app/Contents/Developer/
- Frameworks 的放置位置
系统的Frameworks放在/System/Library/Frameworks/下;
一般App的Frameworks就放在App的Bundle里;
如果需要多个App共享Frameworks则可以放在/Library/Frameworks/下;
日常使用
- 卸载kext脚本
sudo kextunload /Library/Extensions/xxx.kext
sudo rm -rf /Library/Extensions/xxx.kext
- 检查程序是否签名
codesign -vvv <Path>/xxx.app
- 10.12之后允许第三方App运行命令
sudo spctl --master-disable
- Mount DMG
命令自动挂载DMG包
hdiutil mount <Path>.dmg
hdiutil unmount <Path>
- 重启FaceTime 摄像头
sudo killall VDCAssistant
- 开启以太网服务
networksetup -setnetworkserviceenabled ethernet on
networksetup -setnetworkserviceenabled ethernet off
- 开启VPN
scutil --nc start 'hkVPN ' --user xxx --password yyy —secret zzz
scutil --nc stop 'hkVPN '
- 屏幕共享
在Finder -> 前往连接服务器 -> 输入
vnc://共享地址