* 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/.*'<img src="\/\/'/''/ | sed s/'" alt=".*'/''/ | pbcopy
使用管道语法配合 pbcopy 工具可以简单的抓取命令的输出,而不必向上滚动翻阅终端窗口。可以用于和他人分享命令行的标准和错误输出。 pbcopy 和 pbpaste 也可以用于自动化或加速执行一些事情。例如把一些邮件的主题存为任务列表,就可以先从Mail.app中复制主题,再运行:
$ pbpaste >> tasklist.txt
3. mdfind
许多Linux用户都发现Linux下查找文件的方法在OS X上不好用。当然经典的Unix find 命令总是可以,但既然OS X有杀手级搜索工具Spotlight,为什么不在命令行上也使用一下呢?
这就是 mdfind 命令了。Spotlight能做的查找, mdfind 也能做。包括搜索文件的内容和元数据(metadata)。
mdfind 还提供更多的搜索选项。例如 -onlyin 选项可以约束搜索范围为一个目录:
$ mdfind -onlyin ~/Documents essay
mdfind 的索引数据库在后台自动更新,不过你也可以使用 mdutil 工具诊断数据库的问题,诊断 mdfind 的问题也等同于诊断Spotlight。如果Spotlight的工作不正确, mdutil -E 命令可以强制重建索引数据库。也可以用 mdutil -i 彻底关闭文件索引。
4. screencapture
screencapture 命令可以截图。和 Grab.app 与 cmd + shift + 3 或 cmd + shift + 4 热键相似,但更加的灵活。
抓取包含鼠标光标的全屏幕,并以 image.png 插入到新邮件的附件中:
$ screencapture -C -M image.png
用鼠标选择抓取窗口(及阴影)并复制到剪贴板:
$ screencapture -c -W
延时10秒后抓屏,并在Preview中打开之:
$ screencapture -T 10 -P image.png
用鼠标截取一个矩形区域,抓取后存为pdf文件:
$ screencapture -s -t pdf image.pdf
更多用法请参阅 screencapture --help 。
5. launchctl
launchctl 管理OS X的启动脚本,控制启动计算机时需要开启的服务。也可以设置定时执行特定任务的脚本,就像Linux cron一样。
例如,开机时自动启动Apache服务器:
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
运行 launchctl list 显示当前的启动脚本。 sudo launchctl unload [path/to/script] 停止正在运行的启动脚本,再加上 -w 选项即可去除开机启动。用这个方法可以一次去除Adobe或Microsoft Office所附带的所有“自动更新”后台程序。
Launchd脚本存储在以下位置:
~/Library/LaunchAgents
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
启动脚本的格式可以参考 这篇blog ,或苹果开发者中心的 文章 。你也可以使用 Lingon 应用来完全取代命令行。
6. say
say 是一个文本转语音(TTS)的有趣的工具,引擎和OS X使用的一样也是VoiceOver。如果不加其他选项,则会简单的语音朗读你给定的字符串:
$ say "Never trust a computer you can't lift."
用 -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所有命令的 完整列表 。
相关推荐
推荐使用USB移动硬盘来制作做Mac OS X 的启动安装盘,先在USB中划分一个大于6.5GB的硬盘空间分区用来制作Mac OS X硬盘启动盘,然后在PC机的硬盘中划分一个大于20GB的硬盘分区用来安装Mac OS X Snow Leopard 10.6.2...
但是,您确实需要“用于Xcode的命令行工具”: 在OS X 10.9及更高版本上,您可以执行以下操作: xcode-select --install 如果您已经安装了另一个软件包管理器(例如MacPorts),请不要混用它们 用法示例: brew ...
KiCad EDA Mac OS X 构建器 问答 问:又一个 KiCad OS X ... 答:与许多其他 KiCad OS X 构建器不同,这个构建器只需要用户手动安装 XCode 命令行工具(编译器等)。 所有其他依赖项都会自动下载和编译。 问:为什么
这是一个命令行工具,用于将Autodesk古老的格式的3D模型资产转换为 (一种现代的运行时资产交付格式)。 可在找到适用于Windows,Mac OS X和Linux的预编译二进制版本。 Windows的出血边缘二进制文件可在找到。 ...
Invoke Release是一组命令行工具,可帮助软件工程师快速,轻松且以一致的方式发布Python项目。 它有助于确保您的项目的版本标准在组织的所有项目中都相同,并最大程度地减少了发行期间可能发生的错误。 它使用Git...
Mac OS X的命令行工具,可与Onkyo接收器进行交互。 执照 OnkyoKit是根据MIT许可发布的。 Copyright (c) 2013-2015, Jeff Hutchison All rights reserved. Permission is hereby granted, free of charge, to
Qsic一个简洁的(Q的)网易云音乐命令行工具,使用Swift编写,运行于mac OS平台。安装 $ brew tap cottonbuddha/core && brew install qsic 也可直接从release下载qsic tar包,解压后放到/usr/local/bin下。操作快捷键...
最后,我们将重点介绍一些对于记者来说必不可少的命令行库,并提供其他资源,以便参与者可以自己更深入地学习。 在你的电脑: 如果您使用的是Mac OS或Linux,则可以使用标准的终端应用程序。 在Mac OS上,单击...
使用先决条件: 从为C编译器安装“ OSX命令行工具”(需要免费的Apple ID登录)。 自制软件将需要此。 或者,您可以安装XCode,然后从XCode GUI中安装“命令行工具”软件包。 安装Chef: curl -L ...
杀死时区! 这个软件的灵感来自于不得不在不断变化的时区协调会议的挫败感。 在理想的世界中,我们不需要时区,我们都同意通用时间参考并使用它(UTC ... Mac OS X:10.10 Debian GNU/Linux 设计目标 该工具旨在尽
您需要先安装Xcode命令行工具。 xcode-select --install 安装 下载,查看并执行脚本: curl --remote-name https://raw.githubusercontent.com/dreipol/laptop/master/mac sh mac 2>&1 | tee ~/laptop.log 调试 您...
我的mac-os 由启发的使我的 macOS 体验令人惊叹的硬件、应用程序和工具列表(带有无耻的复制粘贴(我希望没问题:folded_hands_medium-light_skin_tone:)我不能找到更好的措辞)。 使用壁纸:内容命令行应用程序首选...
用于Magento 2的netz98 magerun CLI工具n98 magerun cli工具提供了一些方便的工具,可从命令行使用Magento。建立状态最新发布的 发展处 开发在开发分支中完成。 该软件仅与Magento 2一起运行。 如果您使用Magento 1...
我建议安装使用在Mac OS X上使用可以很容易地为安装为运行以下命令: $ brew install phantomjs 快速入门指南 如果您是一名视觉学习者,Brian Miller 和我在了一个免费的。 对于那些喜欢直接进入并开始使用新...
GoTTY是一个简单的命令行工具,可将您的CLI工具转换为Web应用程序。 GoTTY-将您的终端作为Web应用程序共享GoTTY是一个简单的命令行工具,它将您的CLI工具变成Web应用程序。 从发行版页面安装您可以从“发行版”页面...
跟踪器组件库1.0版,2015...请注意,必须在Mac OS X下安装命令行工具,Matlab才能使用编译器。 由于GitHub的文件不能超过100MB的限制,因此省略了用于天文代码的星历数据文件。 要使用需要行星历表的任何文件(例如sol
游戏中时光倒流脚本 用于在 OS X 上制作屏幕截图延时电影的 Bash 脚本。 屏幕截图 脚本capture-screens.sh抓取实际的屏幕内容。... 为此,您将需要ffmpeg命令行工具。 大多数 Mac 应该已经有了它,但如果你没有,你可
每当您需要为Mac OS X 10.5或更高版本创建安装软件包或发行版时,软件包都是您所需要的强大而灵活的解决方案。 使用软件包,您可以定义哪些应用程序,捆绑软件,文档或文件夹应成为安装软件包有效负载的一部分,以及...
Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。 Sublime text 快捷键 Ctrl+L 选择整行(按住-继续选择下行) Ctrl+KK 从光标处删除至行尾 Ctrl+K Backspace 从光标处删除至行首...
Avidemux 可在 GNU GPL 许可下用于 Linux,BSD,Mac OS X 和 Microsoft Windows。该程序是由 Mean 从头开始编写的,但也使用了来自其他人和项目的代码。 随时欢迎补丁,翻译甚至错误报告。 开源免费视频编码工具 ...