* pbcopy & pbpaste
OS X的终端下通用很多Unix的工具和脚本。如果从Linux迁移到OS X会发现很多熟悉的命令和脚本工具,其实并没有任何区别。
但是OS X也提供了很多其他系统所没有的特别的命令行工具。我们推荐8个这类的工具,希望有助于提高在Mac的命令行环境下的效率。
1. open
open 命令用于打开文件、目录或执行程序。就等同于在命令行模式下,重复图形界面“双击”的动作。例如这个命令与在Finder中双击Safari是一样的:
$ open /Applications/Safari.app/
如果 open 一个文件,则会使用关联的程序打开之。例如 open screenshot.png 会在Preview中查看图片。
可以使用 -a 选项要求自行选择打开的程序,或使用 -e 强制在TextEdit中编辑此文件。
open 一个目录会在Finder窗口中打开此目录。一个很有用的技巧是 open . 打开当前目录。
Finder和终端的交互是双向的——把文件从Finder中拖入终端,就等同于把文件的完整路径粘贴到命令行中。
2. pbcopy 和 pbpaste
这两个工具可以打通命令行和剪贴板。当然用鼠标操作复制粘贴也可以——但这两个工具的真正威力,发挥在将其用作Unix工具的时候。意思就是说:可以将这两个工具用作管道、IO重定向以及和其他命令的整合。例如:
$ ls ~ | pbcopy
可以将主目录的文件列表复制到剪贴板。
也可以把任意文件的内容读入剪贴板:
$ pbcopy < blogpost.txt
做点更疯狂的尝试:获取最新Google纪念徽标(doodle)的URL并复制到剪贴板:
$ curl http://www.google.com/doodles#oodles/archive | grep -A5 'latest-doodle on' | grep 'img src' | sed s/.*'
用 -f 选项朗读特定文本文件, -o 选项将朗读结果存为音频文件而不是播放:
$ say -f mynovel.txt -o myaudiobook.aiff
say 命令可以用于在脚本中播放警告或提示。例如你可以设置Automator或Hazel脚本处理文件,并在任务完成时用 say 命令语音提示。
最好玩(不过也负罪感十足)的用法是:通过SSH连接到朋友或同事的计算机,然后用 say 命令给他们一个大大大惊喜……
可以在系统设置(System Preferences)的字典和语音(Dictation & Speech)选项中调整系统的语音选项甚至是语音的语言。
7. diskutil
diskutil 是OS X磁盘工具应用的命令行版。既可以完成图形界面应用的所有任务,也可以做一些全盘填0、全盘填随机数等额外的任务。先使用 diskutil list 查看所有磁盘的列表和所在路径,然后对特定的磁盘执行命令。
警告:不正确使用 diskutil 可能意外的破坏磁盘数据。请小心。
8. brew
Homebrew程序提供的 brew ,严格来讲不是一个OS X的原生命令,但任何一个OS X的专业用户都不会错过它。“OS X缺少的包管理器”这个评价是恰如其分的。如果你曾经在Linux上使用过 apt-get (或其他包管理器——译者注),你就会发现Homebrew基本上是一样的。
使用 brew 可以简单的获取数千种开源工具和函数库。例如 brew install imagemagick 就可以安装ImageMagick(几乎可以处理任何图像问题,转换任何格式的图像工具), brew install node 可以安装Node.js(当前大热的服务器端JavaScript编程工具)。
也可以通过Homebrew做有趣的事情: brew install archey 会安装Archey(在启动命令行时显示苹果LOGO和计算机硬件参数的小工具)。
请输入图片描述
Homebrew能安装的工具数量庞大,并且一直保持更新。Homebrew最棒的一点是:所有的文件都被约束在 /usr/local/ 一个位置之下。也就是说可以通过Homebrew安装新版软件的同时,保持系统内置的依赖库或其他软件不变。同时如果想彻底删除Homebrew,也变得非常简单。
(注:删除Homebrew最好还是不要直接删除 /usr/local/ 。应当用这个 卸载脚本 。)
最后,这里还有一篇OS X所有命令的 完整列表 。