原文(英文)地址:https://weiyen.net/articles/useful-macos-cmd-line-utilities/
有时候,当我感到无聊时,我喜欢查看 macOS Bash 命令 的列表。以下是我发现的一些有趣的命令:
以编程方式访问钥匙串
如果你将秘密存储在钥匙串中(你应该这样做!),可以使用 security
命令程序化地访问它们。
1 | security find-internet-password -s "https://example.com" |
我发现这对于编写使用本地存储凭据的自动化脚本非常有用。
链接:https://ss64.com/mac/security.html
附加提示:如果你使用 1Password
,可以使用 1Password CLI 从命令行访问你的 1Password
项目。
从终端打开文件
如果你想从终端打开一个文件,可以使用 open
命令。
1 | open file.txt |
这将以默认应用程序打开该文件,就像你在 Finder 中双击它一样。
链接:https://ss64.com/mac/open.html
复制和粘贴
pbcopy
和 pbpaste
是命令行工具,允许你将文本复制到剪贴板(其他操作系统可能称之为“剪贴板”)。
1 | echo "Hello, world!" | pbcopy |
pbpaste
将剪贴板中的内容打印到标准输出。
1 | pbpaste |
这对于将数据从文件获取到浏览器或其他 GUI 应用程序中非常有用。
链接:
https://ss64.com/mac/pbcopy.html
https://ss64.com/mac/pbpaste.html
UTC 时间
如果你经常处理服务器,知道当前的 UTC 时间可能很有用,例如查看服务器日志时。
1 | date -u |
或者,你可以使用:
1 | TZ=UTC date |
链接:https://ss64.com/mac/date.html
互联网速度测试
如果你想直接从终端运行互联网速度测试,可以使用:
1 | networkQuality # 注意大写的 "Q"! |
链接:https://ss64.com/mac/networkquality.html
防止你的 Mac 进入睡眠状态
如果你想防止 Mac 进入睡眠状态,可以在终端中运行 caffeinate
。
1 | caffeinate |
caffeinate
将保持你的 Mac 清醒,直到你停止它,例如按 Ctrl+C。caffeinate
以前是一个第三方工具,但现在已内置于 macOS 中。我主要在运行服务器时使用它。
链接:https://ss64.com/mac/caffeinate.html
生成 UUID
如果你需要生成一个 UUID,可以使用 uuidgen
命令。
1 | uuidgen |
默认情况下,uuidgen
输出一个大写的 UUID。你可以将其与 tr
和 pbcopy
结合使用,将 UUID 复制到剪贴板并转换为小写。
1 | uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy |
我在编写需要 ID 的单元测试时经常使用这个命令。
连接:https://ss64.com/mac/uuidgen.html
荣誉提名
mdfind
:Spotlight 搜索,但在终端中。我通常使用 Spotlight 本身(或者更好的 Raycast)。
https://ss64.com/mac/mdfind.htmlsay
:此命令使你的 Mac 朗读你给它的文本。
https://ss64.com/mac/say.htmlscreencapture
:此命令允许你截屏并将其保存到文件。我更喜欢使用cmd-shift-5
来完成这个操作。
https://ss64.com/mac/screencapture.htmlnetworksetup
:此命令允许你以编程方式配置网络设置。我发现它的 API 非常复杂,因此我没有太多使用。
https://ss64.com/mac/networksetup.html
以上。