OS X 的Terminal 终端开辟了强大的UNIX实用工具和脚本的世界。如果你是从Linux转移过来的用户,你会在OS X 终端上发现很多熟悉的命令。但是即使是高级用户也经常会忽略掉其实OS X终端也会有一系
OS X 的Terminal 终端开辟了强大的UNIX实用工具和脚本的世界。如果你是从Linux转移过来的用户,你会在OS X 终端上发现很多熟悉的命令。但是即使是高级用户也经常会忽略掉其实OS X终端也会有一系列在其他的操作系统中没有的终端工具。当你学习了以下这些只适用于Mac的课程会让你更高效的使用Mac命令行同时消除UNIX系统和你的Mac系统之间的差别。
1. open
open:打开文件,目录和程序。这是令人兴奋的,对吗?其实它真正的作用是用于命令行模拟鼠标双击操作。假如当你输入:
- $ open /Applications/Safari.app/
输入该命令时会像你在Finder中双击Safari图标一样启动Safari浏览器。
如果你用open命令指向一个文件,它会启动相关的GUI应用程序加载该文件。open screenshot.png命令会在预览中打开该图片。当然你可以在命令中加入 -a 标识来选择你想要用来加载该文件的应用程序,或者使用 -e 标识直接在文本编辑器中打开编辑。
对于一个目录运行open命令会直接在Finder窗口中打开该目录。该方法特别适用于在命令行中运行open . 来打开当前目录。
请记住Finder和Terminal终端之间的集成是相互的,当你把Finder中的一个文件拖入到Terminal终端窗口时,它的绝对路径就会被粘贴在命令行中。
2. pbcopy 和 pbpaste
这两个命令可以让你复制和粘贴命令行中的文本内容。当然你可以直接使用鼠标完成上述操作。但是pbcopy和pbpaste真正的魔力是它们是UNIX命令,这使它们可以受益于管道(piping),重定向并且在脚本中可以与其他命令一起使用。例如当输入:
- $ ls ~ | pbcopy
输入该命令时会将你的home目录中的文件列表拷贝到OS X 系统的剪切板中。你可以通过如下命令轻易的获取文档的内容:
- $ pbcopy < blogpost.txt
或者过一些更疯狂的事。下面这条脚本会抓取最新的Google doodle 的链接并且将它拷贝到你的剪切板中。
- $ 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也可以用来自动或者快速执行类似的任务。例如,当你想要将电子邮件的主题行保存到一个任务列表,你可以先在邮件程序中拷贝这些内容然后再运行:
- $ pbpaste >> tasklist.txt
3. mdfind
许多重度Linux用户会在Mac上使用locate命令搜索文件,但是他们很快发现这个方法不可行。在UNIX中有一个古老的find命令,但是在OS X中它有它自己的杀手级搜索工具:Spotlight。所以我们为啥不在命令行中借用它的力量呢?
这就是实际当中mdfind所做的事。任何Spotlight能搜索到的内容,mdfind同样也能搜索到。这当然也包括搜索文件内部及元数据。
mdfind因为它的一些便捷性使它在它的这个大哥哥中脱颖而出。例如,-onlyin 标识可以将搜索限制在一个指定的目录中:
- $ mdfind -onlyin ~/Documents essay
mdfind数据库需要在后台经常更新数据,但你可以使用mdutil命令来排除故障(同样适用于Spotlight)。如果Spolight没有正确的工作,使用mdutil -E将会清楚数据库中的索引然后通过抓取重建索引。你同样也可以通过运行mdutil -i off 来完全完毕索引。
4. screencapture
screencapture 可以让你拍摄多种屏幕快照。它类似于抓图程序或者cmd + shift +3 和 cmd + shift + 4 的截屏快捷键,但是它更加灵活。以下是几种你可以使用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 来查看更多选项。
5. launchctl
launchctl 可以让你与OS X 的初始化脚本系统launchd进行交互。通过启动守护进程与启动代理,你可以在启动你的电脑时控制你的启动服务项。你甚至可以通过编写脚本定期或再指定的时间间隔内执行操作,类似于Linux中的corn工具。
例如,当你想要在你启动你的Mac时自动启动Apache服务器时,你可以输入:
- $ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
通过运行launchctl list会列出所有当前状态下加载了的启动脚本。sudo launchctl unload [path/to/script] 命令会停止并且卸载运行中的脚本,该命令增加 -w 标识时会将该脚本永久的从你的启动队列中清除。我喜欢用这个命令来终止运行所有类似于Adobe程序及微软Office的自动更新“助手”。
启动脚本储存在以下几个位置中:
- ~/Library/LaunchAgents
- /Library/LaunchAgents
- /Library/LaunchDaemons
- /System/Library/LaunchAgents
- /System/Library/LaunchDaemons
对于想要了解启动进程与启动代理的详细机制,推荐你去浏览Paul Annesley 的博客,该博客将从文件格式带你了解该内容。同时如果你想要学习如何编写你自己的启动脚本,Apple在他们开发者网站上提供了许多很有帮助的文档供参考。如果你希望完全避免命令行的操作,同样有一个非常棒的叫Lingon的程序可以帮助你。
6. say
这是一个很有趣的命令:say 将文本转化为语音,它使用了OS X中VoiceOver使用的文字语音转换系统。无需任何选项,say命令会将你输入的任何文本内容转化为语音输出:
- $ say “Never trust a computer you can’t lift.”
你可以使用带-f 标识的say命令来朗读一个文本文档中的内容,同时使用-o 标识来保存输出的音频内容:
- $ say -f mynovel.txt -o myaudiobook.aiff
say 命令可以用于脚本的控制台日志和报警声音。例如,你可以设置批处理或者Hazel脚本处理文件,在处理完成后使用say命令发出提醒。
但是对于say命令最好玩的用法是比较阴险的:如果对于你的朋友或者同事的Mac你有ssh登陆权限,你可以通过命令行悄无声息的登陆他们的电脑。然后给他们一个Siri-ous惊喜。
你可以在系统偏好设置中的听写与语音面板中设置say命令的语音(和语言)。
7. diskutil
diskutil 是OS X中磁盘管理工具的命令行界面。它可以完成任何它的图形界面兄弟能完成的任务,同时它也包含一些额外的能力—例如在一个磁盘中写满零或者随机数据。简单的输入diskutil list会列出所有磁盘的路径名和链接到你电脑上的可移除的媒体介质,然后再指向你想要操作的卷的命令。请注意:如果不正确的使用diskutil命令会永久的清楚磁盘上的数据。
8. brew
好吧,这个严格上说不是一个本地命令。但是没有一个OS X高级用户会离得开Homebrew。它的官网将它定义为“OS X上丢失的包管理工具”,它说的很正确。如果你在Linux系统上使用过apt-get命令,你会在Homebrew中有找到组织的感觉。
brew 让你轻松的从开源社区获取成千上万的开放的实用工具和软件库。例如,brew install imagemagick 命令会为你安装ImageMagick工具,它使一个功能强大的工具包,它可以从事任何从GIF动画到几十种不同类型的图片转换任务。brew install node 命令会为你安装NodeJS,它是一个最新的热门的在服务器端开发和运行JavaScript程序的工具。
你同样也可以用Homebrew来获得乐趣:brew install archey 命令会为你安装 Archey,它是一个很酷的脚本,用来在一个多彩的Apple Logo显示你的Mac的配置。Homebrew的可选内容很广泛,同时它很容易创建新规则,一直都会有新的包被添加进来。
archeyARCHEY —我的命令行工具中把所有的配置都显示出来。
但是Homebrew最大的优势是什么?它将它所有的文件都保存在一个独立的目录中:/usr/local/ 。这意味着你可以无需干涉系统内建的软件而安装系统软件的最新版本,比如python和mysql。而且当你卸载Homebrew 安装包时,它很方便就可以被移除。
5.15修改:有人对我建议不能盲目的删除/usr/local/目录中的内容。这是一个非常重要的预防措施。为了安全的移除Homebrew,请使用卸载脚本。
9. textutil
textutil使用Cocoa的文本引擎对文档进行操作,并可以在多种格式间转换,包括,.doc、.txt和.rtf。例如,将一个HTML文档转换成一个简单的Word文档。
- $ textutil -convert html article.doc
textutil另一个有意思的功能是能够将多个文件合并成一个长文档。如下命令可将三个Word文档合并成一个.rtf文档:
- $ textutil -cat rtf article1.doc article2.doc article3.doc
10. sips
sips是一个图像处理工具,是ImageMagick一个原生的替代选择。因为它是建立在Apple的Core Image之上,sips在颜色配置等方面有很大功能。但是它也是一个不错的快速图像处理工具,如转换、调整大小、裁剪和旋转。
这个脚本将文件中的ipegs格式的图片转换成png格式的:
- $ for file in *.jpeg; do sips -s format png $file --out $file.png
11. ssh-add
如果你反复使用ssh访问一个安全服务器,例如Amazon’s EC2,那么你就应该知道ssh-add。这个命令允许你将私钥文件保存到到OS X keychain。只需设置一次,就能使用ssh命令,无需手动包括私钥文件或弄混~ / . ssh /内容
之前:
- $ ssh -i keyfile.pem [server]
之后:
- $ ssh-add -k keyfile.pem
- $ ssh [server]
12. man
man命令调出不是OS X独有的帮助手册,这无需多说。但是Twitter用户 @peternlewis 使我想起了Terminal.cpp功能。如果你在Help menu中输入一个命令名,Terminal将自动地调出与之相关的页面。
关于终端程序的更多操作,这里有一个从A-Z排序的在OS X 10.9 Mavericks中所有可用的控制台命令行。
CocoaChina是全球最大的苹果开发中文社区,官方微信每日定时推送各种精彩的研发教程资源和工具,介绍app推广营销经验,最新企业招聘和外包信息,以及Cocos2d引擎、Cocos Studio开发工具包的最新动态及培训信息。关注微信可以第一时间了解最新产品和服务动态,微信在手,天下我有!
相关推荐
对于Mac OS X 10.6用户,安装Mercurial可以通过Homebrew这一包管理工具进行。首先,确保已安装Homebrew,然后在终端执行以下命令: ```bash brew install mercurial ``` 安装完成后,Mercurial的命令行工具即可在...
在Mac OS系统中,终端(Terminal)是一个非常重要的工具,它允许用户通过命令行与计算机进行交互。对于Mac OS的用户来说,掌握一些常用的终端命令是非常有必要的,尤其是在安装扩展(kext)、修改属性列表文件...
6. **自定义帮助系统**:允许开发者为每个命令添加帮助信息,方便用户查询。 7. **颜色和格式化支持**:增强命令输出的可读性,例如使用颜色高亮关键信息。 8. **用户交互接口**:提供API供开发者集成到自己的应用...
用户可以在同一窗口内创建多个会话,每个会话可以独立执行不同的命令,这在处理多个任务或项目时非常实用。同时,它还可以进行水平或垂直分割,让你在同一屏幕内查看和操作多个终端窗口,极大地提高了多任务处理能力...
需要注意的是,mkfile命令是一个Mac OS X特有的命令,如果您在非Mac系统上尝试使用,那么它将不会被识别。 **二、使用dd命令创建大容量空白文件** dd命令是一个更为通用的Unix和Linux命令,也可以在Mac OS X系统中...
7. **标签功能**:对于组织和查找服务器,Termius提供标签功能,用户可以根据服务器的角色或项目为每个连接添加标签,便于分类和检索。 8. **会话模板**:创建和保存会话模板,可以快速地复制和应用到新的服务器...
SecureCRT是一款强大的远程终端模拟软件,它支持SSH、Telnet、Rlogin等多种协议,使得用户能够在Windows、Mac OS X以及Linux等操作系统上安全地访问远程的UNIX和Linux服务器。这款软件提供了丰富的功能,包括多窗口...
ngrok是一款强大的网络调试和测试工具,它允许用户通过公共URL访问本地运行的服务,而无需配置复杂的端口转发或DNS设置。这款工具尤其适合开发者在进行远程协作、演示或者调试时使用,因为它能够将本地服务器暴露到...
它允许用户通过简单的命令操作,轻松地在各种操作系统上(包括Linux、Mac OS X和Windows)收听全球各地的电台。 **1. 安装与配置** 在开始使用pyradio之前,首先确保你已经安装了Python(推荐版本2.7或3.5以上)和...
iTerm2是一款针对Mac OS X系统的终端增强工具,被誉为Mac下最好用的终端模拟器。它不仅提供了基础的命令行功能,还具有丰富的自定义设置和高级特性,极大地提升了用户在命令行环境中的工作效率和体验。 一、iTerm2...
Mac OS 使用的是HFS+或APFS文件系统,其中"应用程序"(Applications)文件夹是系统级别的文件夹,位于每个用户的根目录下,用于存放可执行的应用程序。将应用放在这个位置便于系统管理和用户的日常使用。 2. **...
- **CHANGELOG.md**:版本更新日志,记录每个版本的主要改动。 - **README.md**:项目介绍和使用指南。 - **Version v1.3.5**:表明当前版本是1.3.5,这是Cmder的一个稳定版本,可能包含了错误修复和性能优化。 ...
安装这个驱动通常需要使用"终端"应用执行命令行操作,或者通过第三方工具如"Multibeast"来简化安装过程。 安装"黑苹果万能网卡驱动"时,用户需要确保自己的系统满足驱动的最低要求,并且知道如何在OS X的系统偏好...
每个网络接口控制器(如网卡、无线网卡等)都有一个唯一的MAC地址。以下是对四种获取MAC地址方法的详细说明: 1. 使用命令行工具 在不同的操作系统中,可以通过内置的命令行工具来获取MAC地址: - **Windows**:...
尽管Windows和Mac OS X有自己的图形系统,但也有X Window的实现,允许这些平台运行基于X Window的应用程序。 【总结】 本文深入探讨了X Window系统,包括它的基本概念、启动方法、远程连接以及嵌套X Server的运用...
2. **多平台支持**:SecureCRT能够连接各种操作系统,包括Linux、Unix、Mac OS X和Windows。这使得用户可以在任何操作系统环境下使用该工具访问远程服务器。 3. **会话管理**:SecureCRT允许用户创建和保存多个会话...
##安装要在Mac OS X上安装,请打开您的终端并输入: sudo npm install -g chui-android在继续操作之前,系统会要求您输入密码。 对于Windows,只需在命令提示符下运行此命令: npm install -g chui-android之后,...
iTerm是Mac操作系统上的一款强大的终端模拟器,被誉为最好用的shell工具,它极大地提升了用户在命令行环境下的交互体验。iTerm不仅继承了传统Terminal的基本功能,还引入了许多先进的特性和自定义选项,使得开发者和...