首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >原来 Mac Terminal 藏着这么多宝藏命令

原来 Mac Terminal 藏着这么多宝藏命令

作者头像
前端达人
发布2026-06-24 20:42:38
发布2026-06-24 20:42:38
140
举报
文章被收录于专栏:前端达人前端达人

去年我在 App Store 花了 30 块,买了一个"屏幕共享前隐藏桌面图标"的小工具。

界面就一个按钮。我当时还觉得挺划算——一键操作,方便嘛。

直到某天在 Terminal 里看到一行命令能做同样的事,我整个人都愣住了。

这件事让我开始系统整理:有多少 Mac 应用,本质上就是某个 Terminal 命令的 GUI 壳子?

结果——还挺多的。

今天这篇,是我真正在用的 17 个 Terminal 命令,多数每周必开,几个每天必用。不是炫技,是真的能替代你现在用的某个付费工具,或者绕过那些要点三层菜单才能到的系统设置。

先看全貌:

代码语言:javascript
复制
┌────────────────────────────────────────────────────────┐
│             17 个 Terminal 宝藏命令速览                  │
├─────────────────┬──────────────────┬───────────────────┤
│  ⏰ 电源管理     │  📋 剪贴板流     │  💻 系统信息       │
│  caffeinate     │  pbcopy/pbpaste  │  df -h            │
│  pmset          │                  │  uptime           │
│                 │                  │  battery 查询     │
├─────────────────┼──────────────────┼───────────────────┤
│  🌐 网络诊断    │  🎨 系统定制     │  🔍 文件搜索       │
│  DNS flush      │  隐藏桌面图标    │  mdfind           │
│  wdutil         │  截图路径        │  mdls             │
│  公网 IP        │  Dock 放大       │                   │
│                 │  对话框展开      │                   │
├─────────────────┴──────────────────┴───────────────────┤
│  🔐 安全生成密码   |  🔊 让 Mac 开口说话                │
└────────────────────────────────────────────────────────┘

下面逐个讲,挑你用得上的。


一、电源管理:让 Mac 别瞎睡觉

caffeinate — 渲染 / 下载期间强制清醒

在跑长时间任务的时候,人离开一会儿,回来发现 Mac 睡了,任务中断——这种体验太糟了。

代码语言:javascript
复制
caffeinate

按下回车,Mac 就不会自动休眠,直到你 Ctrl+C

想定时唤醒?加参数:

代码语言:javascript
复制
caffeinate -d -t 3600   # 保持清醒 1 小时(3600 秒),-d 顺带防止屏幕变暗

我把它设了 alias:alias cf='caffeinate -d',两个字母搞定。

pmset — 谁让我的 Mac 不睡觉?

合盖了,风扇还在转?说明有进程"告诉"系统别睡。

代码语言:javascript
复制
pmset -g assertions

翻到输出末尾,找 PreventSystemSleepPreventUserIdleSystemSleep,旁边就是凶手的名字。我遇到最多的是没关干净的备份软件,以及忘记退出的视频播放器。

二、剪贴板魔法:pbcopy / pbpaste

这是 Terminal 里最容易被忽视、用上之后最停不下来的一对命令。

pbcopy 把任何标准输入送进剪贴板,pbpaste 反过来读出来。

代码语言:javascript
复制
pwd | pbcopy              # 当前路径直接复制,省去手动选中
cat ~/.zshrc | pbcopy     # 整个配置文件进剪贴板
pbpaste | wc -w           # 数数剪贴板里有多少个词

用起来之后,你会开始在所有命令后面本能地加 | pbcopy

三、系统信息:不用等那个转圈圈的进度条

df -h — 磁盘空间一眼看清

Mac 弹出"磁盘快满了"的提示,然后你去 关于本机 → 储存空间,等十几秒……

不如直接:

代码语言:javascript
复制
df -h

所有磁盘、分区,已用 / 可用 / 总量、百分比,人类可读单位,即时输出,没有 spinner。

-h 是 human-readable 的意思,去掉就是原始字节,没人想看那个。

uptime — Mac 跑了多久没重启

代码语言:javascript
复制
uptime

告诉你上次重启是多久前,以及系统负载均值。我的 Mac 经常跑到 30 天以上,但超过一周建议还是重启一次——清清内存、跑跑系统更新。

battery 健康状态 — 二手交易前必看

准备出二手或以旧换新?买家第一个问的就是循环次数。Apple 把这个信息埋在三层菜单里,Terminal 一行取出来:

代码语言:javascript
复制
system_profiler SPPowerDataType | grep -E "Cycle Count|Maximum Capacity|Condition|State of Charge"

输出示例:

代码语言:javascript
复制
Cycle Count: 342
Maximum Capacity: 91%
Condition: Normal
State of Charge (%): 78

如果 Condition 显示 Service Recommended,趁早换电池再卖,能多卖不少钱。循环次数超过 1000 且容量低于 80%,报价不会好看。

四、网络诊断三件套

DNS flush — 网站打不开时的第一救手

明明网站没挂,别人能访问,你这里就是白屏。多半是 DNS 缓存问题。

DNS(域名系统)负责把网站名称解析成 IP 地址,Mac 会把结果缓存下来加速访问。缓存过时或损坏,就会出现"别人能开你开不了"的奇怪现象。

代码语言:javascript
复制
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

执行后没有任何输出 = 成功。刷新页面,十次有九次就好了。

wdutil — Wi-Fi 信号诊断(Sonoma 版)

很多老教程还在叫你用 airport -I——Sonoma 已经把 airport 命令移除了,用了会报 not found。

新的替代品:

代码语言:javascript
复制
sudo wdutil info

SSID、信道、信号强度(RSSI)、噪声基底、MAC 地址、加密方式,全在一屏。

重点看 RSSI,越接近 0 越强:

代码语言:javascript
复制
RSSI > -60 dBm   → 信号很好 ✅
-60 ~ -70 dBm    → 正常,可接受
-70 ~ -80 dBm    → 开始掉包,能感觉到卡
< -80 dBm        → 基本靠信仰续命 💀

查公网 IP — 确认 VPN 有没有真的生效

代码语言:javascript
复制
curl ifconfig.me
# 或
dig +short myip.opendns.com @resolver1.opendns.com

第二条用 OpenDNS 直查,不经过 HTTP 层,如果两个结果不一样,信 dig 那个。

连了 VPN 但想确认流量真的走了代理?执行一下,看 IP 归属地对不对。

五、桌面 & 界面:那些没有 UI 开关的隐藏设置

这一节全是「你根本不知道 Terminal 能改这个」的惊喜。

屏幕共享前藏起桌面图标

开腾讯会议要共享屏幕,桌面一堆截图和下载文件,尴尬。

代码语言:javascript
复制
# 隐藏
defaults write com.apple.finder CreateDesktop false; killall Finder

# 恢复
defaults write com.apple.finder CreateDesktop true; killall Finder

我把这两行各做了一个 Automator 快捷指令,共享前双击一下,完美。

把截图默认保存到指定文件夹

不想让每张截图都堆在桌面上?

代码语言:javascript
复制
mkdir -p ~/Pictures/Screenshots
defaults write com.apple.screencapture location ~/Pictures/Screenshots
killall SystemUIServer

改回桌面就把路径换回 ~/Desktop

Dock 放大突破系统上限

系统设置里 Dock 放大最大值是 128,Terminal 不管这个:

代码语言:javascript
复制
defaults write com.apple.dock largesize -int 256; killall Dock

试试 512——Dock 图标比你的脸还大,第一次看到会惊叫。(确保在「系统设置 → 桌面与程序坞」里开了放大功能)

恢复默认:defaults delete com.apple.dock largesize; killall Dock

保存 & 打印对话框永久展开

每次保存文件,那个折叠状态的小对话框都要手动点箭头展开——这个动作每天重复几十次,烦死了。

代码语言:javascript
复制
defaults write -g NSNavPanelExpandedStateForSaveMode -bool true
defaults write -g NSNavPanelExpandedStateForSaveMode2 -bool true
defaults write -g PMPrintingExpandedStateForPrint -bool true
defaults write -g PMPrintingExpandedStateForPrint2 -bool true

执行一次,重启,所有应用的保存和打印对话框从此默认展开,全局生效(-g = global)。

这条设置好之后你很快会忘掉自己做过,但每次保存文件时都会莫名其妙地顺畅。

六、文件搜索进阶:比 Spotlight 还快

mdfind — 命令行版 Spotlight,结果可以直接管道

代码语言:javascript
复制
mdfind "kind:pdf invoice"           # 所有提到 invoice 的 PDF
mdfind -onlyin ~/Documents "合同"   # 只搜 Documents 文件夹
mdfind -name "report.docx"         # 按文件名找

因为它复用 Spotlight 已建好的索引,比 find 快很多。最香的是结果可以直接接管道:

代码语言:javascript
复制
mdfind "kind:pdf invoice" | xargs open   # 找到就直接打开

mdls — 查看文件的全部隐藏元数据

Cmd+I 是入门版,mdls 是完整版。

代码语言:javascript
复制
mdls /path/to/file

图片的 EXIF 信息、文档的作者、创建日期、文件的下载来源 URL——全在里面。

代码语言:javascript
复制
mdls -name kMDItemWhereFroms ~/Downloads/某个文件.zip

这条命令会告诉你这个文件是从哪个 URL 下载下来的。你的 Mac 一直默默记着,有点细思极恐,有点意外好用。

七、两个彩蛋

本地生成强密码,不借助任何网站

代码语言:javascript
复制
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*' </dev/urandom | head -c 20; echo

纯本地随机,不经过任何服务器。加上 | pbcopy 直接送进剪贴板(记得第二节的 pbcopy 吗)。

开头的 LC_ALL=C 是必须加的,不然 macOS 的 tr 遇到非 ASCII 字节会报错,很多教程漏了这个,然后你照抄发现跑不了——现在知道为什么了。

say — 让 Mac 开口说话

代码语言:javascript
复制
say "任务完成,可以出去吃饭了"
say -v Ting-Ting "这是普通话语音"

实际用途:在长脚本的最后一行加上 say "Done",跑完自动喊你,不用每隔几分钟瞄一眼终端。

这 17 个命令,永久替代了什么

代码语言:javascript
复制
密码生成命令   → 替代了某个 ¥18 的菜单栏密码生成器
桌面图标隐藏   → 替代了某个 ¥30 的屏幕共享工具
DNS 一键清除   → 替代了某个"系统优化器"(还要求完全磁盘访问)
caffeinate     → 替代了某个"防休眠"应用

如果你的 Mac 上装了某个功能极其单一的小工具——去看一眼它到底干了什么,很可能 Terminal 里有一行能代替它。

结尾

这 17 个你之前知道几个?

评论区告诉我:

  • A:不到 5 个,今天大开眼界 👀
  • B:5 ~ 10 个,老玩家了
  • C:超过 10 个,我也是 Terminal 控

或者你有用了很久、但感觉鲜有人知的命令,也欢迎留言补充——我会从中挑最有意思的几个,单独出一期「读者投稿の宝藏命令」。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端达人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、电源管理:让 Mac 别瞎睡觉
    • caffeinate — 渲染 / 下载期间强制清醒
    • pmset — 谁让我的 Mac 不睡觉?
  • 二、剪贴板魔法:pbcopy / pbpaste
  • 三、系统信息:不用等那个转圈圈的进度条
    • df -h — 磁盘空间一眼看清
    • uptime — Mac 跑了多久没重启
    • battery 健康状态 — 二手交易前必看
  • 四、网络诊断三件套
    • DNS flush — 网站打不开时的第一救手
    • wdutil — Wi-Fi 信号诊断(Sonoma 版)
    • 查公网 IP — 确认 VPN 有没有真的生效
  • 五、桌面 & 界面:那些没有 UI 开关的隐藏设置
    • 屏幕共享前藏起桌面图标
    • 把截图默认保存到指定文件夹
    • Dock 放大突破系统上限
    • 保存 & 打印对话框永久展开
  • 六、文件搜索进阶:比 Spotlight 还快
    • mdfind — 命令行版 Spotlight,结果可以直接管道
    • mdls — 查看文件的全部隐藏元数据
  • 七、两个彩蛋
    • 本地生成强密码,不借助任何网站
    • say — 让 Mac 开口说话
  • 这 17 个命令,永久替代了什么
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档