macOS 命令行下的一些好用的命令(第一期)

本文讲解的命令都是 macOS 特有的命令,也就是 Windows 和 Linux 没有。所以从 Windows 和 Linux 系统切换过来的用户要看一看,尤其是习惯使用命令行的 Linux 用户。

open

open 命令用于在命令行打开文件,目录和程序。

用法如下:

# 在 Finder 打开用户主目录( Finder 是 macOS 默认的文件管理器)
open ~

# 使用默认程序打开某文件
open abc.xlsx

# 打开“查找”应用
open /System/Applications/FindMy.app 

pbcopy 和 pbpaste

这两个命令可以让你复制和粘贴命令行中的文本内容。当然你可以直接使用鼠标完成上述操作。但是pbcopy和pbpaste真正的魔力是它们是UNIX命令,这使它们可以受益于管道(piping),重定向并且在脚本中可以与其他命令一起使用。

# 将你的home目录中的文件列表拷贝到系统的剪切板中
ls ~ | pbcopy

# 获取文档的内容
pbcopy < mydoc.txt

mdfind

许多重度 Linux 用户会在 macOS 上使用 locate 命令搜索文件,但是他们很快发现这个方法不可行。

在 UNIX 中有一个古老的 find 命令,但是在 macOS 中它有它自己的杀手级搜索工具:Spotlight。

所以我们为啥不在命令行中借用它的力量呢?

这就是实际当中 mdfind 所做的事。任何 Spotlight 能搜索到的内容,mdfind 同样也能搜索到。这当然也包括搜索文件内部及元数据。

mdfind 因为它的一些便捷性使它脱颖而出。

例如,-onlyin 标识可以将搜索限制在一个指定的目录中:

mdfind -onlyin ~/Documents essay

mdfind 数据库需要在后台经常更新数据,但你可以使用 mdutil 命令来排除故障 (同样适用于Spotlight)。

如果 Spolight 没有工作不正常,使用 mdutil -E 将会清除数据库中的索引然后通过抓取重建索引。

你同样也可以通过运行 mdutil -i off 来关闭索引。

screencapture

截屏命令。使用示例:

# 截取全屏,包括光标,并且将该截图(以’image.png’命名)附到一封新的电子邮件中:
screencapture -C -M image.png

# 通过你的鼠标选择一个窗口,然后抓取该窗口中的内容(不包括该窗口的阴影效果)将该截图复制到剪切板中:
screencapture -c -W

# 延时10秒截屏并且在预览中打开该截图:
screencapture -T 10 -P image.png

# 通过鼠标选定一个区域截图,同时将该内容保存为pdf文件:
screencapture -s -t pdf image.pdf

# 你可以通过输入 screencapture —help 来查看更多选项。