macOS 实用命令行
macOS 内核 Darwin 基于 Unix,因此 ps
、 ping
、 tracert
之类的命令不在本文讨论之列。
本人使用时间不长,这里仅列出目前经常使用到的。
显示隐藏的文件和目录
Finder 下可以用快捷键 Shift + Command + .
切换是否显示隐藏文件,也可以通过命令行配置:
defaults write com.apple.finder AppleShowAllFiles -bool YES
killall Finder
清空本地 DNS 缓存
有时候一些域名的 DNS 记录做了修改,为了及时生效,需要手动清空本地 DNS 缓存。
对于 Tiger (10.4) 以前的版本:
lookupd -flushcache
对于 10.4 以后的版本,执行以上命令会提示 command not found
。需要改用以下命令:
dscacheutil -flushcache
禁止自动生成 .DS_Store
这是个 macOS 下一个用来保存文件夹显示信息的隐藏文件,它保存了这个目录的文件清单,在提交代码时容易上传。
关闭 .DS_store 自动生成:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
清除已有的 .DS_Store 文件:
sudo find / -depth -name ".DS_Store" -exec rm {} \;
禁用 Dashboard
Dashboard 主要用来放一些类似 Android 的桌面小组件的东西,不需要可以禁用:
defaults write com.apple.dashboard mcx-disabled -bool YES
killall Dock
清除失效的文件打开方式
以前用 Windows 的时候常常是手动进入 C:\WINDOWS\SoftwareDistribution\Download
等目录删垃圾文件,然后打开注册表搜索关键字后删除软件残余项目。
很多 Mac 用户跟我说 macOS 有多优秀,卸载软件大多数情况只需到 Applications
目录删除就 OK 了(如果 Library
目录下有相关文件夹残留需手动删除),觉得我像使用 Windows 一样经常手动清理垃圾是完全没必要的。
但之前安装的一个工具类应用卸载之后,每次卸载其他应用它还是会弹框提示,说明依然有残余,还是得手动:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
允许启动任何来源下载的应用
不知道 macOS 从哪个版本开始,默认隐藏掉隐私设置里面的允许任何来源下载的应用,可以通过下面的命令强制打开:
sudo spctl --master-disable
登录窗口自定义消息
设置登录窗口底部的提示文字:
sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "𝑯𝒆𝒍𝒍𝒐, 𝑹𝒊𝒏𝒄."
清除设置:
sudo defaults delete /Library/Preferences/com.apple.loginwindow LoginwindowText
HTTP Server
MacOS 自带了 Python,可以在任意目录启动 HTTP Server:
python -m SimpleHTTPServer 8888
HEIC 转 JPG
除了通过预览 APP 转,还可以通过 sips 命令:
sips -s format jpeg input.heic --out output.jpg