惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
V
Vulnerabilities – Threatpost
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
Know Your Adversary
Know Your Adversary
K
Kaspersky official blog
T
Tor Project blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
Simon Willison's Weblog
Simon Willison's Weblog
雷峰网
雷峰网
I
Intezer
C
Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
C
CERT Recently Published Vulnerability Notes
P
Privacy International News Feed
P
Proofpoint News Feed
F
Fortinet All Blogs
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
宝玉的分享
宝玉的分享
量子位
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
D
Darknet – Hacking Tools, Hacker News & Cyber Security
aimingoo的专栏
aimingoo的专栏
A
Arctic Wolf
Martin Fowler
Martin Fowler
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
IT之家
IT之家
小众软件
小众软件
T
The Blog of Author Tim Ferriss
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
D
DataBreaches.Net
Webroot Blog
Webroot Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog

HANG ♥ WRITING

ChatGPT 问世两年,我在 AI 的辅助下成为了一名 iOS 业余开发者 如何使用 Netcat 构建简单的安全聊天系统 QuakeSense 震感,一款简洁原生的 iOS 地震通知 App App Store 中国大陆 ICP 备案最佳实践 几款有意思的 Google Chrome 侧边栏扩展应用 GetVM 让编程学习更快一步 WildCard (野卡) - 国内用户零门槛订阅 ChatGPT、Claude、App Store 万里汇开发者收款使用全指南 | 注册、开户与账户绑定教程 中国大陆居民开通华侨银行(OCBC)海外账户完全指南 《认知觉醒》之触动学习法 不是程序员也可以搞开发,一小时入门 Retool 低代码 疫情来袭,手把手教你在家制作美味炒鸡 企业微信机器人 Webhook 推送语雀更新消息 基于 Cloudflare Workers 部署的 JSON Database 数据库 印象时间:印象笔记出品的时间管理应用 Pixelmator Photo 2.0: 桌面级功能并适配 iPhone Shortery:Mac 快捷指令自动化 Pixelmator Pro 2.3:AI 背景去除 Quit All:一键退出应用程序 Raycast:推出官方扩展商店和开发者平台 简悦 API 2.0:收藏助手和快照功能 HomePod mini 使用体验 Prizmo 5.5:扫描效果增强并新增批注功能 Notion:近期值得关注的新特性 Google Analytics 替代品,零成本和零门槛搭建 umami.is Infuse 7:一款近乎完美的视频播放器 Gyroscope 4.14:新的产品名称和多项改进 V day:在手机上创作短视频 Things 3.14:备注支持 Markdown,同步速度加快 MoneyWiz 2021:新的通知选项和视觉改善 Doppler:管理和分享你的本地音乐 CARROT Weather:5.3 带了多项新特性 Obsidian:知名知识管理工具推出移动应用 NOMO RAW:专业 ProRAW 相机 Tape:全能且好用的录屏软件 Apple Design Award 2021 Craft 1.6:每日笔记重磅更新 Trakt:官方 iOS 应用全新上线 Notion:支持 API 和自动化集成 Varlens:iOS 专业相机应用 Infuse 7:不只是 M1,支持所有 Mac 简悦:支持 API 和自动化流程 奇妙组件:小而美的自定义 iOS 小组件 Farbox 2:支持自部署和多站点的开源博客系统 图图记账:高颜值记账应用 Coppice:帮助整理你的想法 DarkModeBuddy:基于光线切换深色模式 走进微软成都 Office,聊一聊 Microsoft 365 HapiGo:符合国情的效率启动器 Eagle 2.0:数十项功能更新 + 数倍的性能提升 无需记账,通过更新余额了解自己有「多少资产」 Dato:支持日历和时区的菜单栏时钟 极具潜力的效率启动器 App,Raycast 脚本功能详解 Pixelmator Pro 2.0.2:增加新效果,支持 ProRAW Raycast:面向开发人员的效率启动器 Sorted:全新的 Mac 版本,原生支持 Apple Silicon App Store 和 Google Play 的 2020 年度 App 榜单 VSCO:全新的视频效果和拍摄模式 Pixelmator Pro 2.0:全新设计并支持 M1 芯片 Maipo 4:全功能新浪微博 macOS 客户端 Bartender 4:Mac 菜单栏定制工具 JSBox:适配并支持 iOS 14 小组件 Little Snitch 5:macOS 上出色的流量监控与防火墙应用 Photoshop:更多的 AI 创意工具 Capslox:文本操作快捷键增强效率工具 Airport:TestFlight 测试应用商店 Disk Drill 4:全新设计,支持 macOS 11 Big Sur OneWidget:小组件中的瑞士军刀 Todoist:新增看板视图 IFTTT Pro:合理的定价、全新的特性 PooPoo Privacy Policy QuakeSense Privacy Policy | 震感 App 隐私政策 ThenNow Privacy Policy | 今昔 App 隐私政策 LaunchBar 6.13:支持 macOS Big Sur 24 Hour Wallpaper:近百张 Mac 动态壁纸 简悦 2.0 阅读模式 + 标注系统 + 稍后读 绕过 App Store 付费,Setapp 采用新的 iOS 付费应用解锁策略 Noto 笔记:2.3 版本带来 10 余项功能更新 PliimPRO:让 Mac 一键进入演示模式 Pixelmator Pro 1.7:文字输入、画布旋转和 ML 超分辨率更新 Ulysses 20:新增导航面板和中文拼写检查 Mailbrew:新增 Inbox 集中订阅 Newletter Fluent Reader:免费跨平台 RSS 阅读器 Moment:高颜值 Mac 状态栏倒数日应用 Meeter:集中管理你的远程会议 Adobe Lightroom:新版带来了众多实用特性 WWDC:在 Mac 上观看 WWDC 直播和视频 LongWe:Mac 上的文本长图生成工具 Photoshop Camera:风格独特的艺术效果 Empoche:任务管理和时间追踪二合一 Camera+ 2:Magic ML 带来照片处理新魔法 Tuck:将窗口停靠在屏幕边缘 Wormhole:在电脑上操作 iOS 和 Android 设备 Coherence X:一键将网页转换为桌面应用 Charty:让快捷指令支持图表可视化 Edison Mail:又一款免费邮件客户端 Service Station:定制 Mac 右键菜单 WatchSmith:前所未有地个性化 Apple Watch Data Jar:为捷径设计的数据库 Zappy:Zapier 出品的截图录屏应用
实用的 macOS 内置命令,省下买第三方应用的钱
huhuhang · 2023-06-28 · via HANG ♥ WRITING

本文灵感来自于 Advanced macOS Command-Line Tools,作者筛选了部分更常用的命令,并提供了使用场景和案例。

每个人都有自己买 Mac 的理由,而我喜欢 Mac 是因为其提供了简约的外形、易用的 macOS 系统、独享的 macOS 应用、以及基于 Unix 的终端。而今天,我要介绍的就是 macOS 终端中的一些实用的内置命令行工具。

你或许早已在影视作品里见过终端的样子,电影里的黑客们总是在一个黑色的背景下,输入一些看不懂的命令,然后就可以实现各种高级操作。它往往看起来很「酷」,但这种操作方式却是计算机发展的早期阶段就已经存在的。在那个时候,计算机还没有图形用户界面(GUI),用户只能通过输入命令来与计算机进行交互。

时至今日,随着计算机的发展,图形用户界面已经成为了主流,但终端仍然是一种非常有用的工具。它可以让用户以更高级、快捷的方式控制和配置系统,执行操作系统提供的各种命令和脚本,从而实现特定的功能和任务。例如:创建、复制、移动、删除文件和目录,查看和修改文件权限,管理网络连接、系统服务和进程等。

macOS 中默认提供了终端 App,你可以从 Launchpad 启动台中找到它。Apple 还贴心了提供了 终端使用手册,你可以从里面了解到一些终端的使用和配置方法。

接下来,我会分享一些实用的 macOS 内置命令行工具,它们通过终端来使用,可以提升你的 Mac 使用体验。

实用的 macOS 内置命令

防止系统休眠:caffeinate

Mac 上有一些能够让系统保持唤醒的应用,它对于需要长时间运行的任务非常有用,如文件下载、数据同步等。

这些应用有的甚至是收费的。其实你完全不需要,因为 macOS 本身就提供了一个 caffeinate 命令,它可以让你的 Mac 保持唤醒状态。

使用 caffeinate 命令时,你可以通过 -s 参数来保持系统唤醒状态,通过 -u 参数来仅防止系统进入睡眠状态,而不锁定屏幕。你还可以通过 -t <seconds> 参数来指定保持唤醒状态的时间。例如:

caffeinate -s

在终端中执行上述命令后,你的 Mac 将会保持唤醒状态,直到你按下 Control + C 组合键来终止 caffeinate 命令。

如果你希望 Mac 在 1 小时内保持唤醒状态,那么你可以执行以下命令:

caffeinate -t 3600

上面的 3600 代表 3600 秒,即 1 小时。

你还可以通过 man caffeinate 命令来查看 caffeinate 命令的帮助文档。接下来介绍的其他命令也都可以使用 man 命令来查看帮助文档,后续不再赘述。

复制文件内容:pbcopy

如果你希望复制一个文本文件的全部内容,之前会怎么做呢?

我想大多数人都会打开这个文本文件,然后按下 Command + A 组合键来全选文本,再按下 Command + C 组合键来复制文本,最后关闭这个文本文件。

这种方式虽然可以实现目的,但是却比较繁琐。其实你可以使用 pbcopy 命令来实现同样的效果。

pbcopy 命令用于在剪贴板和终端之间传递文本内容。它可以将终端输出的文本复制到剪贴板,而 pbpaste 命令则可以将剪贴板的内容粘贴到终端。

例如,我们有一个文本文件 hello.txt,它位于当前用户的主目录下,你就可以使用以下命令来复制它的全部内容:

cat ~/hello.txt | pbcopy

上面的命令中,cat 命令用于输出文件的全部内容,| 符号用于将 cat 命令的输出作为 pbcopy 命令的输入。这样就可以把 hello.txt 文件的全部内容复制到剪贴板了。

接下来,你就可以在任意地方粘贴即可。

网络质量监测:networkQuality

平常如果你需要测试网络的质量和延迟,你可能会使用一些第三方的工具,如 Speedtest

但实际上,我们有更简单的方法来测试网络质量,那就是使用 networkQuality 命令。

你可以直接在终端中执行此命令:

networkQuality

执行后,命令会输出当前网络的质量和延迟信息,如下所示:

上面的输出中,Uplink capacityDownlink capacity 分别代表上行和下行的带宽,Responsiveness 代表网络的响应速度,Idle Latency 代表网络的延迟。

该工具会使用 Apple 的 CDN 服务器来测试网络质量,你也可以通过 Apple 的 官方文档 来了解更多信息。

图像处理工具:sips

sips 是一个非常强大的图像处理工具,它可以用于调整图像的大小、分辨率,转换图像格式,添加元数据等。

例如,我们有一张图片 image.png,它位于当前用户的主目录下,你就可以使用以下命令来将它转换为 JPEG 格式:

sips -s format jpeg ~/image.png --out ~/image.jpg

上面的命令中,-s format jpeg 用于指定输出图像的格式,--out ~/image.jpg 用于指定输出的文件路径。

sips 提供了一系列实用的参数,例如 -s formatOptions 参数可以用于指定格式选项,如 JPEG 压缩质量。举例:

sips -s format jpeg -s formatOptions 80 ~/image.png --out ~/image.jpg

上面的命令中,-s formatOptions 80 用于指定 JPEG 的压缩质量为 80。

如果你希望批量转换某个目录(例如 ~/images)下的所有图片,那么你可以使用以下命令:

cd ~/images
for file in *.png; do sips -s format jpeg "$file" --out "${file%.*}.jpg"; done

上面的命令中,for 循环用于遍历目录下的所有 PNG 图片,"${file%.*}.jpg" 用于将 PNG 图片的后缀名替换为 JPG。

由于 sips 支持的自定义参数过多,甚至比很多第三方的图片格式转换工具都强大,这里就不再一一介绍。文章的末尾会分享小白如何更高效地使用不了解的命令行工具。

文件转换工具:textutil

和 sips 类似,textutil 是一个非常强大的文件转换工具,它可以用于转换文本文件、HTML 文件、RTF 文件、Microsoft 文件、iWork 文件等。

例如,我们有一个 RTF 文件 hello.rtf,它位于当前用户的主目录下,你就可以使用以下命令来将它转换为纯文本文件:

textutil -convert txt ~/hello.rtf

上面的命令中,-convert txt 用于指定输出文件的格式为纯文本。

textutil 提供了一系列实用的参数,例如 -encoding 参数可以用于指定输出文件的编码格式。举例:

textutil -convert txt -encoding UTF-8 ~/hello.rtf

上面的命令中,-encoding UTF-8 用于指定输出文件的编码格式为 UTF-8。

同样,你可以结合 Shell 脚本来批量转换某个目录(例如 ~/documents)下的所有 RTF 文件,例如:

cd ~/documents
for file in *.rtf; do textutil -convert txt -encoding UTF-8 "$file"; done

从终端中打开:open

如果你希望在终端中打开某个文件或目录,那么你可以使用 open 命令。这对于习惯在终端中操作的人来说,是一个非常实用的命令。

例如,我们有一个文本文件 hello.txt,它位于当前用户的主目录下,你就可以使用以下命令来在终端中打开它:

open ~/hello.txt

上面的命令中,open 命令用于在 macOS 上打开文件、目录或 URL。它会根据文件类型自动选择合适的应用程序打开。

如果你希望在终端中打开当前目录,那么你可以使用以下命令:

open .

上面的命令中,. 代表当前目录。你会发现,执行后会自动打开 Finder。

你甚至可以用 open 打开网页,例如:

open https://sspai.com

文件快速搜索:mdfind

如果你需要在 Mac 中搜索,大概率会使用 Spotlight 或者 Finder 右上角的搜索框。但是,你可能不知道,终端中也有一个非常强大的搜索工具,它就是 mdfind

例如,我们想要搜索当前用户主目录下的所有 PNG 图片,那么你可以使用以下命令:

mdfind -name "*.png"

可以指定路径搜索,例如:

mdfind -onlyin ~/documents -name "*.png"

你甚至可以搜索文件内容,例如:

mdfind -onlyin ~/documents -name "*.txt" -literal "hello"

上面的命令中,-literal "hello" 用于指定搜索内容为 hello

我们还可以指定类型搜索,例如:

mdfind kind:image -name "hello"

上面的命令中,kind:image 用于指定搜索类型为图片。即全部图片中,文件名包含 hello 的图片。

由于 mdfind 支持通配符,所以在操作的灵活性上比图形界面的搜索工具更强大。此外,其搜索的速度也非常快,这对于大量文件的用户来说,是一个非常实用的命令。

屏幕截图:screencapture

你可能会使用快捷键或者第三方 App 实现屏幕截图,但是你可能不知道,终端中也有一个非常强大的截图工具,它就是 screencapture

例如,我们想要截取整个屏幕,那么你可以使用以下命令:

screencapture screenshot.jpg
open screenshot.jpg

上面的命令中,screencapture 命令用于在 macOS 上捕获屏幕截图并保存为文件。open 命令用于在终端中打开文件。

如果你想要截取某个窗口,那么你可以使用以下命令:

screencapture -i screenshot.png
open screenshot.png

你可能会问,这比起来似乎没有快捷键方便。当然,对于日常使用来说,快捷键的方式更加方便。但是,如果你需要更多的控制选项,或者用于脚本自动化时,screencapture 就会变得非常有用。

我们介绍命令行工具也不是说要摒弃掉图形界面的方式,而是希望你能够了解到,终端中也有很多实用的工具,它们可以帮助你更好地完成工作。

更新软件和系统:softwareupdate

Mac 上还有一些系统配置和管理的命令行工具,例如 softwareupdate。它可以用于更新软件和系统。

例如,我们想要列出可用的更新,那么你可以使用以下命令:

softwareupdate -l

执行更新的话,你可以使用以下命令:

softwareupdate -i -a

参数太多看不懂怎么办?

这篇文章中,我们只是介绍了一些常用的,或者是说我本人常用的命令行工具。实际上,macOS 中还有很多命令行工具,你可以通过 这个列表 查看。

应该有很多人会问,这么多命令行工具,参数那么多,我怎么记得住?尤其是对于很多不了解 Linux 命令,或者没有编程经验的用户来说,这些命令行工具可能会让人望而生畏。

面对这样的问题,我建议你可以通过以下方式来解决:

  1. 阅读命令行工具的帮助文档,例如 man 命令。这个过程不需要你完全看懂,只是大致了解这个工具能干什么就行。
  2. 借助 ChatGPT 解决实际需求。

由于 ChatGPT 的出现,我们可以通过对话的方式来解决实际需求。例如,你可以把自己的需求描述清楚,然后让 ChatGPT 帮你完成操作。

需求的描述过程中需要注意:

  1. 尽量表述详细,例如你希望在哪个路径下操作,怎样操作等;
  2. 给出一些例子,比如操作前是什么样的,你希望操作后的效果是什么样的,这样 ChatGPT 才能更好地理解你的需求。

小结

macOS 内置的命令行工具提供了丰富的功能和灵活性,使用户能够更高效地管理和操作系统。这些工具广泛应用于各种场景,从日常任务到系统维护都能发挥作用。

每个命令行工具都有其独特的作用和使用场景,我们可以根据自己的需求选择合适的工具。同时,这些工具提供了丰富的参数选项,用户可以根据具体需求进行定制和调整。对于有一定技术基础的用户和开发者来说,这些命令行工具是提高效率和解决问题的强大工具。

本文介绍的只是一小部分 macOS 内置命令行工具,还有很多其他有用的工具等待你去发现和探索。希望本文能为你提供一些有用的信息和启发,帮助你将 Mac 物尽其用。