“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
macOS 命令行工具深度指南:你可能不知道的实用命令
本文系统梳理 macOS 独有的高级命令行工具,涵盖电源管理、剪贴板、图像处理、Spotlight 搜索、系统信息查询等场景,帮助用户充分释放 macOS 的系统潜力。
macOS 命令行工具深度指南:你可能不知道的实用命令
macOS 作为基于 Unix 的操作系统,天然继承了庞大的标准 Unix 工具集(如 grep、sed、awk 等)。然而,苹果还内置了一批 macOS 特有的命令行工具,它们直接与系统底层服务(如 Spotlight、电源管理、剪贴板、网络配置)交互,提供了 GUI 操作难以企及的精确控制和脚本化能力。这些工具对开发者、系统管理员和高级用户而言,是提升工作效率的利器。
本文基于 macOS Sonoma 版本整理,所有命令均可通过 man <command> 查看完整文档。以下逐一深度解析这些工具的功能、典型用法和实用技巧。
1. caffeinate — 控制系统睡眠行为
核心功能:防止 Mac 自动睡眠,适用于长时间运行的任务(如编译、下载、视频渲染)或需要保持屏幕亮起的演示场景。
用法详解
| 命令形式 | 效果 |
|---|---|
caffeinate(无参数) |
持续阻止系统睡眠,直到命令被手动中断(Ctrl+C) |
caffeinate -u -t <秒数> |
在指定秒数内防止睡眠,-u 表示仅当用户活跃时生效(即模拟用户活动) |
caffeinate -d |
额外阻止显示器休眠(通常与 -u 组合使用) |
caffeinate -w <PID> |
监控指定进程,一旦该进程退出,caffeinate 自动终止 |
caffeinate <command> |
在子进程中执行给定命令,命令运行期间阻止睡眠,命令结束后自动退出 |
实用技巧:
- 若要临时阻止睡眠并执行一条命令,直接使用
caffeinate make build这样的形式,无需手动管理进程。 - 使用
-w配合后台进程时,可以确保无论任务何时结束,系统都会恢复默认电源策略。 - 与
pmset配合,可以诊断是哪个进程在阻止睡眠(见下文)。
2. pbcopy / pbpaste — 与系统剪贴板交互
核心功能:在终端和 macOS 剪贴板之间传输数据,实现命令行输出直接粘贴到 GUI 应用,或反之。
典型用法
bash
将命令输出复制到剪贴板
cat ~/.ssh/id_rsa.pub | pbcopy
将剪贴板内容输出到终端
pbpaste
将剪贴板内容写入文件
pbpaste > clipboard_content.txt
将终端中的多行文本通过管道写入剪贴板
curl -s https://example.com | pbcopy
高级技巧:
pbcopy和pbpaste默认处理文本数据,但也可以与其他工具组合处理富文本或图片(需借助pngpaste等第三方工具)。- 在脚本中,可以用
pbpaste获取用户复制的文本,配合grep或sed进行即时处理后再放回剪贴板。 - 注意:
pbcopy支持标准输入,因此任何命令的输出都可以直接管道给它。
3. networkQuality — 测量网络速度
核心功能:macOS Monterey 及以后版本内置的网络测速工具,无需安装第三方软件。
用法
bash
运行基础测速
networkQuality
显示详细信息(如延迟、丢包率、上传/下载速度的多个指标)
networkQuality -v
指定网络接口测试(例如 Wi-Fi 接口为 en0)
networkQuality -I en0
输出说明:
- 默认输出包括下行/上行带宽(Mbps)、往返延迟(RTT)和丢包率。
-v模式还会给出响应延迟按百分位分布等信息,对网络诊断很有价值。- 尤其适合在切换网络后快速验证连接质量,或在设置中调试网络问题。
4. sips — 强大的图像处理工具
核心功能:macOS 自带的图像处理引擎,支持缩放、裁剪、旋转、格式转换等操作,且支持脚本化批量处理。
常用操作
| 命令 | 说明 |
|---|---|
sips -z <高> <宽> <图片> |
强制调整为指定尺寸(忽略原始宽高比),注意参数顺序是高度在前! |
sips -Z <边长> <图片> |
等比例缩放,将最长边缩放到指定值,保持宽高比 |
sips -c <高> <宽> <图片> |
从图片中心裁剪到指定尺寸(先裁剪后缩放,常见用法是先 -Z 再 -c) |
sips -r <角度> <图片> |
顺时针旋转图片,角度为整数(如 -r 90) |
sips -s format jpeg <图片> |
转换格式(jpeg、png、tiff、gif 等) |
关键注意事项:
- 默认破坏性写入:
sips直接修改原文件。若需保留原图,务必使用-o <输出路径>指定输出文件。 -o的输出文件扩展名必须与输入图片原始格式一致,否则可能报错或转换失败。例如,处理 JPEG 时输出扩展名应为.jpg。
批量处理示例:
bash
将目录下所有 PNG 统一缩放到最长边 1024px,并输出到 new/ 目录
mkdir -p new
for img in *.png; do sips -Z 1024 "$img" -o "new/$img"; done
5. open — 打开文件和应用
核心功能:open 是 macOS 特有的文件和应用启动器,支持指定应用、后台打开、Finder 定位等。
用法总结
bash
使用默认应用打开文件或 URL
open https://apple.com
open report.pdf
指定应用打开文件
open -a "Google Chrome" index.html
后台打开(不抢夺当前焦点)
open -g -a "Xcode" project.xcodeproj
在 Finder 中打开当前目录
open .
在 Finder 中显示某文件(相当于 Finder 的“显示原项目”)
open -R ~/Downloads/photo.jpg
无人提及的细节:
-g参数非常适合启动大型应用(如 Xcode、Photoshop)时不打断当前工作流程。- 配合
-n可强制应用新开一个实例(而非聚焦已有窗口)。 open -e <file>可直接用 TextEdit 打开文件。
6. textutil — 文档格式转换器
核心功能:macOS 内置的文档转换工具,支持 Word、纯文本、RTF、HTML 等格式互转,也可用于提取文本内容。
用法示例
bash
将 doc 文件转为 html
textutil -convert html journal.doc
转为纯文本(提取内容)
textutil -convert txt notes.rtf
批量转换目录下所有 docx 为 txt
for f in *.docx; do textutil -convert txt "$f"; done
支持的格式(-convert 参数值):
txt— 纯文本html— HTML(默认生成带样式标签的文档)rtf/rtfd— 富文本格式及其包格式doc/docx— Microsoft Word 格式
高级技巧:
textutil支持读取 stdin,例如cat file.doc | textutil -convert txt -stdout,便于脚本管线处理。- 可以使用
-output指定输出文件路径,否则转换后的文件创建在与输入文件相同的位置。 - 对于旧版
.doc文件,提取纯文本比命令行strings更可靠,因为textutil能正确解析格式。
7. mdfind / mdls — Spotlight 搜索引擎的命令行接口
核心功能:利用 Spotlight 索引进行快速文件搜索,以及查询文件的元数据(Metadata),功能远超 find 和 locate。
mdfind 常用查询
bash
关键词搜索(基于内容与文件名)
mdfind "会议记录"
按名称搜索文件
mdfind -name "report.pdf"
限制搜索目录
mdfind -onlyin ~/Documents "预算"
基于元数据属性搜索(如查找 Mac App Store 安装的应用)
mdfind "kMDItemAppStoreHasReceipt == 1"
查找所有 PDF 文件
mdfind "kMDItemContentType == 'com.adobe.pdf'"
Spotlight 元数据属性:每个文件都有大量可搜索的属性,如作者、相机型号(照片)、时长(视频)等。常用属性包括 kMDItemFSName、kMDItemLastUsedDate 等。
mdls — 显示文件元数据
bash
mdls ~/Desktop/example.png
输出包含分辨率、颜色空间、像素尺寸、拍摄设备、GPS 坐标等
实际应用:
- 结合
mdfind和xargs,可以快速找到并处理一组文件(如将某 app 的所有文件打包)。 mdls在审计文件来源(如照片的 GPS 数据)或验证文件真实类型时非常有用。
8. screencapture — 屏幕截图与录制(命令行版)
核心功能:提供比 GUI 截图工具更灵活的截图能力,支持保存到文件、剪贴板,以及定时截图。
用法示例
bash
截图并复制到剪贴板
screencapture -c
截图保存到文件(默认 PNG)
screencapture screenshot.png
延迟 5 秒截图(适合捕获菜单或弹出窗口)
screencapture -T 5 -c
只捕获窗口(带阴影),交互式选择
screencapture -w output.jpg
录制屏幕(需要按下 Ctrl+C 停止,但 macOS 推荐使用新工具)
screencapture -v video.mp4
参数补充:
-x— 忽略屏幕捕获声音(在定时截图时避免播放“咔嚓”声)。-D <display>— 捕获指定显示器(若多显示器)。-t <format>— 指定图片格式(png、jpg、gif 等)。-i— 交互式模式(允许选择区域或窗口)。
注意:-v 录制视频在 macOS Mojave 之后需要授予“屏幕录制”权限给终端应用。
9. taskpolicy — 控制进程调度策略
核心功能:调整进程的调度优先级,尤其适用于 Apple Silicon 芯片上的能效核(E-core)与性能核(P-core)调度。
背景知识
Apple Silicon Mac 的 CPU 由高效能核心(Efficiency cores)和高性能核心(Performance cores)混合组成。默认情况下,系统会动态调度进程到合适的核心。taskpolicy 允许手动干预。
用法
bash
以降级优先级在后台启动命令(仅运行于能效核)
taskpolicy -b
将已有进程降级到后台(PID 方式)
taskpolicy -b -p
将后台进程恢复为正常优先级(允许使用性能核)
taskpolicy -B -p
以挂起状态启动命令(便于调试器在启动时附加)
taskpolicy -s
重要说明:
-B只对曾被-b降级的进程有效,对系统自发后台运行的进程(如后台下载)不一定生效。-s挂起启动常用于调试崩溃或启动故障的进程,配合 LLDB 在启动点附加。
应用场景:
- 让编译任务或批量转码任务在能效核上运行,以降低风扇噪音和功耗,虽然速度会下降。
- 在测试多核心调度时,观察任务分配。
10. say — 文本转语音引擎
核心功能:让 Mac 朗读文本,支持多种语音、语速调节,以及输出音频文件。
用法展示
bash
朗读文本
say "Hello, world"
将文本文件转成音频(AIFF 格式)
say -f input.txt -o output.aiff
指定语音(需先用 say -v '?' 列出可用语音)
say -v Samantha "Good morning"
设置语速(每分钟词数)
say -r 200 "Fast speech"
进阶用途:
- 制作有声书:将小说文本分章节转换,然后用
afconvert转成更压缩的 m4a 格式。 - 结合自动化:在 Shell 脚本中插入
say提醒任务完成状态(如make && say "Build succeeded")。 - 输出中文语音:
say -v Tingting "你好"(Tingting 是系统内置中文语音之一)。
11. pmset — 电源管理配置工具
核心功能:查看和修改电源设置,诊断影响睡眠的因素,监控电池与热量。
常用命令
bash
查看所有电源配置
pmset -g
查看哪些进程申请了“防睡眠”断言(阻止系统睡眠)
pmset -g assertions
查看被降频(热控制)的进程
pmset -g thermlog
立即关闭显示器(系统不睡)
pmset displaysleepnow
立即让系统睡眠
pmset sleepnow
深入解析
pmset -g assertions 输出中每个睡眠阻隔器都会有对应的“所有者”(Owner),例如:
com.apple.powermanagement可能是系统任务;- 第三方应用(如视频播放器)可能会声明
PreventUserIdleSystemSleep。
使用该命令可以精准定位“为什么我的 Mac 不自动睡眠?”的元凶。
pmset -g thermlog 在跑基准测试(如 Geekbench)时配合运行,可以看到哪些进程被系统强制降频以控制温度,这对理解性能波动非常有帮助。
注意:直接修改电源设置(如 pmset -c disablesleep 1)需要 sudo 权限,并可能影响系统稳定性,建议谨慎操作。
12. networksetup — 网络配置工具
核心功能:管理网络服务(如 Wi-Fi、以太网、VPN)的设置,包括 IP、DNS、代理等。
操作示例
bash
列出所有网络服务(按顺序)
networksetup -listnetworkserviceorder
查看特定网络服务的信息(如 IP、子网掩码)
networksetup -getinfo "Wi-Fi"
查看某服务的 DNS 服务器
networksetup -getdnsservers "Wi-Fi"
连接 Wi-Fi 网络(密码可选)
networksetup -setairportnetwork en0 "MyNetwork" "mypassword"
设置手动 DNS
networksetup -setdnsservers "Wi-Fi" 8.8.8.8 1.1.1.1
细节与坑
- 网络服务名称必须与
-listnetworkserviceorder中显示的名称完全一致(注意大小写和空格),常用 “Wi-Fi” 或 “Ethernet”。 - 无线接口通常为
en0(Wi-Fi 的默认接口),但若存在 USB 以太网等,名称可能变化。 -setairportnetwork需要无线网卡已开启,且不支持企业级网络(如带 802.1X 认证的),这类网络需用security命令或 UI。
13. softwareupdate — 系统更新命令行
核心功能:查看和安装系统更新,并下载完整安装器。
命令参考
bash
列出可用更新
softwareupdate --list
安装所有更新(需要 sudo)
sudo softwareupdate -ia
安装特定更新(如 Safari)
sudo softwareupdate -i "Safari-15.6"
下载完整安装器(如 macOS Sonoma)
softwareupdate --fetch-full-installer --full-installer-version 14.0
说明:
--fetch-full-installer下载的安装器会位于/Applications目录,相当于从 App Store 获取的完整安装应用。- 此命令适合在脚本中批量升级多台 Mac,或为系统扩展准备离线升级包。
14. system_profiler — 系统信息收集
核心功能:输出系统软硬件详细报告,比“关于本机”提供更多技术数据。默认输出极长,建议指定数据类型。
常用数据类型
bash
列出所有数据类型
system_profiler -listDataTypes
硬件概要(型号、序列号、芯片)
system_profiler SPHardwareDataType
软件概要(精确版本号)
system_profiler SPSoftwareDataType
电源/电池信息(电池循环次数、充电功率)
system_profiler SPPowerDataType
Xcode 开发者工具版本
system_profiler SPDeveloperToolsDataType
安装的内存详细信息
system_profiler SPMemoryDataType
实用场景:
- 用
system_profiler SPHardwareDataType | grep "Model Identifier"判断设备型号以匹配兼容软件。 - 购买二手 Mac 前,查看电池循环次数(
SPPowerDataType中的 “Cycle Count”)。 - 在支持工单中附上
system_profiler SPSoftwareDataType的输出,便于远程诊断。
补充:在 Apple Silicon 上,还可以用 system_profiler SPDisplaysDataType 查看 GPU 性能核心数等。
总结与扩展建议
以上命令均属于 macOS 的“系统级原生命令”,背后连接的是 Darwin/Foundation 框架。善用它们可以做到:
- 自动化运维:定时截图、系统监控、自动更新。
- 开发辅助:通过
taskpolicy控制测试进程调度,mdfind快速搜索测试文件。 - 内容编辑:批量处理图像(
sips)、文档格式转换(textutil)。 - 系统诊断:快速排查睡眠问题(
pmset)、网络问题(networksetup)、热量问题(pmset -g thermlog)。
每个工具都还有大量参数未在本文展开,强烈建议在实际使用前运行 man <command> 阅读权威手册。例如,sips 的翻转命令(-f)和格式转换属性(-s)也都非常实用。
随着 macOS 版本迭代,苹果也在持续更新这些工具的能力(如 networkQuality 是较新加入的)。保持命令行基础技术的同时,关注系统更新日志会发现更多惊喜。