OS X Tips

##开启Terminal自动补全功能

经常使用Terminal的话一定别忘了开启自动补全功能哦,特别是在输入超长的命令句,文件路径,文件名时你就会体会出他的好处,只需输入头几个字母,按Tab键就会自动补全单词,方便的很耨,开启方法:

打开终端,输入:

nano .inputrc

在里面粘贴上以下语句:

set completion-ignore-case on set show-all-if-ambiguous on TAB: menu-complete

Control+O,保存,重启终端,OK!

##命令行自定义Finder默认窗口显示风格

如果你喜欢每次打开Finder时文件都按图标方式排列,这该怎样设置呢?还是命令行喔:

defaults write com.apple.Finder FXPreferredViewStyle _**ooxx**_

将命令最后的ooxx替换为以下单词:

这样就搞定咯,比如想要默认为列表形式就执行:

defaults write com.apple.Finder FXPreferredViewStyle Nlsv

killall Finder

##如何通过以太网使用AirDrop

AirDrop是Mac上很著名的一款基于无线网络的文件共享工具,但你可能没想到AirDrop可以通过以太网运行工作,而且还能支持老型号Mac以及黑苹果设备。

打开Terminal,输入以下命令:

defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1

再跟一条killall Finder

这样就能开启以太网传输通道,并且开始支持原先并不在支持范围内的老版Mac以及黑苹果电脑。

##命令行重启 Mac

sudo shutdown -r now

对于正在通过SSH登录系统的用户,在重启时可以附上通知告知远程用户,比如:

sudo shutdown -r now “Rebooting from waerfa”

##命令行校对系统时间

Mac OS X的时钟能够自动设置时间,但与格林威治时间还是稍有偏差的,OS X隐藏了一个时间校对工具“ntpdate”,我们输入命令行来调用“ntpdate”,就可以与苹果服务器取得联系获取准确时间:

sudo ntpdate -u time.apple.com

输入管理员密码,即可显示当前时间与标准时间的偏差,此时电脑的时间也会被自动调准:

4 Jul 14:30:11 ntpdate[28267]: adjust time server 17.151.16.14 offset 0.000336 sec

##使用pkill命令关闭进程

OS X Mountain Lion上新增了一个进程关闭命令行工具叫做“pkill”,之所以要分享出来是因为它身上的独特魅力:支持通配符来代替进程名称:

pkill最初级的命令可以用“pkill _程序名称” _来关闭单个进程;

要想马上关闭某个程序下诸多子进程的话,比如Google Chrome,可以执行“pkill Google”即可。

如果执行pkill C*,则所有名称以“C”开头的进程都会被关闭,但是,在这个进程所在的文件目录下如果有任意一个名称以“C”开头的文件存在的话,则命令不会执行成功哦。

另外还可以对属于某一用户下的所有进程进行关闭,比如:

pkill -U _用户名_ _进程名称_

##最简单的Mac网络优化方案

打前儿个起GoAgent就不管用了,但是将ini配置文件修改为google_hk就可以继续爽了,不过还有一个更稳定更简单的FQ方法要与新手们分享,那就是利用Mac自带的SSH功能连接VPS主机跳到墙外去,因为SSH具有自动加密TCP端口数据和端口转发功能,所以国外的VPS主机是一个很完美的“跳板”。

来看具体操作方法:

首先你需要有一台Mac,再租一台老美的VPS主机,后者很好搞,网上一大堆哦,亲

然后在Mac终端上输入:

ssh -D 7000 vpsuser@vpshost

这样就等于在本机上建立了一个运行在7000端口的代理通道了

最后在网络设置中勾选Socks代理,输入:

localhost :7000

确认即可FQ啦

 

##刷爆你的CPU,给Mac做压力测试

想看看你的Mac在CPU“火力”全开下的表现吗?想看看风扇转速,机器温度,电池续航等硬件参数的变化吗?那你就需要做传说中的压力测试了,今天小编就来分享一个无需软件协助的好办法。

打开终端,输入

yes > /dev/null &

即可创建一项名为yes的进程,这种进程会耗费一定量的CPU使用率,你可以再连续输入yes > /dev/null &命令,创建更多的“yes”进程,直到CPU使用率达到100%。

打开活动监视器,你可以看到这些“yes”进程已经霸占了进程列表,此时你的风扇也已经嗷嗷叫了。接下来使用系统状态查看软件来看看具体的参数表现吧,小编推荐iStat Menus

完事后赶快清除“yes”进程哦,输入killall yes瞬间搞定!

转载请注明:Mac玩儿法 » 刷爆你的CPU,给Mac做压力测试

##OS X Yosemite Wi-Fi 问题排错

升级了 OS X Yosemite,但是我发现自己的 Mac 电脑的 Wi-Fi 连接总有些问题,比如说拒绝连接已知网络等。所以本文将笔者自己在处理这个恼人问题的过程中用到的方法写出来,欢迎大家一起交流,解决这 Wi-Fi 方面的恼人问题。

1. 停止 Mac OS X 自动加入已知的 Wi-Fi 网络后重新连接

Mac OS X 一旦已经加入了某个 Wi-Fi 网络,那么下次当你的 Mac 电脑出现在该 Wi-Fi 可用的范围内的时候,OS X 将默认加入该已知的 Wi-Fi 网络。这一点设置的方便之处不可否认,在加入我们家庭、工作以及固定的 Wi-Fi 无线网络的时候,能够省掉重复加入的步骤。但同时它也可以是一件恼人的事,当你不再需要连接到该 Wi-Fi 网络的时候,OS X 仍然会默认重新加入该已知网络。

当然你可以设置 Wi-Fi 网络的优先级。那么更简单的就是,是一种选择,另一种选择是让 OS X「忘记」该 Wi-Fi 网络。如果你周围拥有那种开放式无线网络,而你却不想加入该区域的网络,这个方法就变得特别有效。

Mac OS X 如何「忘记」已知的 Wi-Fi 网络:

第一步:点击 Wi-Fi 的菜单图标,并选择「打开网络偏好设置」。

屏幕快照 2014-11-06 23.07.09

第二步:从网络面板侧边栏中选择「Wi-Fi」选项,然后单击右下角的「高级」按钮。

屏幕快照 2014-11-06 23.07.37

第三步:进入「Wi-Fi」选项卡,找到网络列表中需要「忘记」的那一个网络名称。

第四步:选择该网络,然后单击减号按钮来删除(忘记)该无线网络。

屏幕快照 2014-11-06 23.08.33

第五步:确认删除(必要时,重复以上步骤来「忘记」其他已知的无线网络)。

屏幕快照 2014-11-06 23.08.46

第六步:点击「确定」按钮,然后退至网络系统偏好设置,选择「应用」来保存设置。

屏幕快照 2014-11-06 23.09.05

一旦无线网络已经被 Mac OS X「忘记」,OS X 将停止自动加入它(即使它是唯一可用的网络)。

被「忘记」的 Wi-Fi 网络可以重新加入,只需从菜单栏的 Wi-Fi 下拉窗口中再次选择它,输入密码即可再次加入,试一试此时再次加入后的 Wi-Fi 连接是否正常。

一般来说通过删除已知的 Wi-Fi 网络后重新添加就可以解决,但是如果你发现自己 Mac 的 Wi-Fi 问题无法使用上面的方法解决,那么还可以通过删除 OS X 的无线设置相关的 plist 文件来解决:

2. 删除 Mac OS X 的无线设置相关的 plist 文件

这个过程其实就是删除 Mac OS X 已经创建的无线网络相关的配置文件,这一种关于删除配置文件来排错的思想你可以参考一下。尤其是在你升级了 新的 Mac OS 版本之后,这种方法对于一系列的顽固问题的排错非常有效。

删除 Mac OS X 的无线设置相关的 plist 文件

第一步:点击菜单栏 Wi-Fi 图标拉下 Wi-Fi 列表,关闭 Wi-Fi。

第二步:在 Finder 中按下 Command+Shift+G 组合快捷键,输入如下路径:

/Library/Preferences/SystemConfiguration/

屏幕快照 2014-11-07 09.01.48

第三步:找到以下文件,备份到桌面。然后从 /SystemConfiguration/ 文件夹中删除这样几个配置文件:

屏幕快照 2014-11-07 09.02.24

第四步:清空废纸篓,重新启动 Mac 电脑。

第五步:再次开启 Wi-Fi 开关,加入之前的 Wi-Fi 网络即可。

当然 Wi-Fi 问题的原因有很多,路由器本身、一些简单的网络干扰,或是连接强度较弱都可以造成 Wi-Fi 网络无法使用。所以如果本文还没有解决你 Mac 电脑遇见的 Wi-Fi 问题,你还可以去尝试还原一下路由器设置。

PopClip 使用小贴士

美国著名极客 Brett Terpstra 近日在博客上与网友分享了2条非常隐蔽的 PopClip 使用技巧,我们来看看好玩不好玩:

1. 符号化的复制,剪切,粘贴标识

本条小计其实是官方 在 Twitter  上自己透露的, 你可以将默认的”复制”,”剪切”,”粘贴”插件所显示的文字标识改为更直观的热键符号, 比如复制按钮显示为“⌘C”,剪切显示为 “⌘X”,粘贴显示为”⌘V”, 在终端里输入以下命令即可,返回默认文字标示可将第一句命令中的“YES”改为”NO”,重新执行一遍即可:

defaults write com.pilotmoon.popclip UseShortTitles -bool YES killall PopClip && open -a PopClip

[![](http://waerfa.b0.upaiyun.com//2013/08/Cfakepathpopcliptips.png)](http://waerfa.b0.upaiyun.com//2013/08/Cfakepathpopcliptips.png)  [![](http://waerfa.b0.upaiyun.com//2013/09/CfakepathPopClipTips.png)](http://waerfa.b0.upaiyun.com//2013/09/CfakepathPopClipTips.png)

2. 将插件限制在指定程序中使用

如果你安装的插件有必要限制在指定的程序中,可以通过修改PopClip的PLIST文件来实现,步骤:

  1. 下载好插件,解压缩出.popclipextz 文件
  2. 将插件的后缀.popclipextz 改为 .zip,然后双击加压缩
  3. 将出来的 .popclipext 文件右键,选择“包内容”
  4. 找到 Config.plist 文件打开

在第一个 <dict> 标签后插入以下格式段落:

 <key>Required Apps</key>
     <array>
         <string>net.elasticthreads.nv</string>
         <string>com.apple.TextEdit</string>
     </array>

quote里标注(程序)的字段里需要填入指定程序的 Bundle Identifier ,如何找到程序的BI?

只需在终端里输入: mdls -name kMDItemCFBundleIdentifier -r /Applications/AppName.app

终端就会自动显示出程序的BI,一般他的格式是这样的:com.companyname.app.

最后保存好 Config.plist 文件,然后逆向操作一次即可:将.popclipext文件重新打包成ZIP文件,再更名为可安装的PopClip插件格式 .popclipextz,重新安装搞定~

##iPhoto实用技巧[Mac OS X]

iPhoto作为OS X Lion 10.7自带的新晋软件,受到了不少用户的欢迎,它可以快速将iPhone或数码相机中的照片导入到Mac上来,而且用户能够对图片进行管理,编辑修饰,今天来为新手们推荐8个实用的iPhoto技巧,以供参考:

1. 在Finder中打开iPhoto图库**

在“图片”中右键选择iPhoto图库,点击“显示包内容”即可进入iPhoto library。

2. 当连接设备到Mac时,取消iPhoto的自启动

在“偏好设置-通用”中,将“连接相机时打开”设置为“无应用程序”,这样iPhoto就不会不请自来了。

3.  将图片以最快速度拷贝到Mac其他文件夹中

我们可以直接将图片拖到Mac里的任何位置,而不用选择任何选项来操作。

4. 关于iPhoto清除图片的说明

首先,存储于iPhoto的图片是不会随finder中的图片被删除而消失的,如果你想要删除一张iPhoto图片,必须在iPhoto中操作,所有被删除的图片将会进入到“废纸篓”里,如果想要彻底删干净,可以右键点击“废纸篓”或使用control+点击废纸篓图标,看到弹出清倒废纸篓的菜单后,点击后即可彻底清除

5. iPhoto图库是可以随意更改存储位置的,甚至可以将它带到外置设备硬盘中,直接拖动就ok了。

6. iPhoto图库是可以创建多个的

在启动iPhoto之前,按住 “Option”键再点击iPhoto,此时会弹出一个选择窗口,列表中是目前可以使用的图库,可以点击“新建”来创建新的图库。

7. 将图片设为桌面壁纸

在iPhoto的菜单中选择“共享-设定桌面”即可。

8. 在菜单“文件-导出”中可以选择将图片以何种变化导出到finder里,比如图片格式,分辨率,以及关键词等信息。

##通过iCloud SSH到Mac的新捷径

玩儿法曾经介绍过如果甩开WiFi网络直接使用iCloud网络ssh连接其他Mac电脑,但那个方法配置有些复杂,现在我们可以使用Terminal干这件事:打开终端,按CMD+SHIFT+K,打开“新建远程连接”窗口,选择第一项ssh,在底部输入用户名以及ssh接入命令,点击“连接”即可,关于这条接入命令的编写可以参考玩儿法分享的这篇文章

##使用Privoxy帮助Dropbox主动即时同步数据

今天介绍的内容是和Hazel系列第三集《使用Drafts远程休眠Mac》一起写完的,其实在Mac OS下的workflow圈子里,Dropbox扮演了一个很重要的角色,不单单是数据存储的任务,还有一些数据/内容跳转的工作也需要依靠Dropbox,众所周知,找盒儿(他的中文昵称)并不受天朝大佬们的欢迎,他的关键词已经XXW被盯上了,虽然数据同步还能在墙内工作,但速度不能让人满意,最重要的是即时同步特色无法体现出来,非常令人遗憾。

Dropbox 在天朝为何不能实现即时同步?

Dropbox 有一类服务器(没有采用https传输协议,使用了http协议)负责“服务器-客户端”或“客户端-客户端”之前的文件更新通知工作,所有客户端每过60秒会向这种服务器进行查询,查看是否有数据更新,当客户端接收到更新消息的时候再通过https协议同步数据,但就是这个服务器被XXW发现并“扣留”了,所有请求都会统统被reset,这样客户端的更新无法被其他客户端获知,我们要的即时同步数据也就无从谈起了。

使用Privoxy帮助Dropbox主动及时同步数据

我在Google上搜索相关解决方案,看到绝大部分推荐的都是 Privoxy(下载地址),这款代理工具兼容各个平台,适用于 HTTP/HTTPS协议下的网页过滤,管理cookies,拦截广告等工作,最关键的是,Privoxy可以分流HTTP和HTTPS两种协议下的数据同步任务,这样负责数据更新消息的HTTP协议服务器就能有“代理人”了,而且其他HTTPS传输工作还能不用代理照常进行,看来 Privoxy 绝对是开启即时同步功能的最佳选择。

实施过程

  1. 准备一个代理工具,这里首当推荐Shadowsocks,我们启动他,并记下他的端口号

  1. 安装 Privoxy, 前面我们提供的下载地址就是他的pkg安装包,直接安装,程序自动启动,在Finder里shift+cmd+g,粘入 /usr/local/etc/privoxy,进入软件的配置文件存放目录,编辑config文件,在最后插入以下:

forward .dropbox.com 127.0.0.1:8090 forward .dropbox.com:443 .

  1. 将dropbox的代理设置为HTTP 127.0.0.1:8118(这是 Privoxy 的端口).

  2. 如果你的代理工具是SOCK类型的,可以在config文件里插入以下:

forward-socks5   .dropbox.com             127.0.0.1:XXXX .

forward                  .dropbox.com:443         .

使用Privoxy帮助Dropbox主动及时同步数据

好了,全部设置工作完成,你会看到Dropbox的即时同步功能了,大约不超过4-5秒,客户端就会开始响应,进行数据同步了。

转载请注明:Mac玩儿法 » 使用Privoxy帮助Dropbox主动即时同步数据

##把Hosts文件放入偏好设置面板编辑

Hosts文件的编辑一般情况下是在terminal中进行的,这对于许多菜鸟而言不是一件太容易的事,而且使用起来效率不是太高,Github上有这样一款比较“形象化”的Hosts文件,他植根于设置面板,所有的域名和ip都完整的排列出来,用户可以增添,删除或是编辑,在编辑结束后如果仍然不能访问某些网络,可以输入:“dscacheutil -flushcache”对DNS缓存进行刷新。

支持OS X版本:10.6.8,10.7,10.8 Mountain Lion

下载

源代码

##如何使用chflags快速隐藏文件

昨天我们曾分享过使用拖拽方式快速隐藏文件的小工具invisibliX,今天再来介绍一下 OS X 自带的命令行隐藏文件方法,使用chflags即可完成,比如:

chflags hidden 文件绝对路径/ 相对路径

ok,这样就隐藏了

或是输入:chflags hidden [],再将文件直接拖入terminal的“[]”中也可。

重新显示文件使用:chflags nohidden

再来回顾一下显示/隐藏finder所有隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool true(false) – killall finder(重启finder)

转载请注明:Mac玩儿法 » Mac OS X:如何使用chflags快速隐藏文件

##怎样在设备之间快速复制SSH Keys

今天来分享一下SSH Keys在设备之间的便捷转移方法,工具依旧是terminal,如果两台设备都在同一局域网,可以使用finder直接将key拖动到目标位置,但.ssh文件夹是隐藏的,需要先将它揪出来:

defaults write com.apple.Finder AppleShowAllFiles TRUE

_killall Finder_然后在你的帐户根目录下就可以看到这个文件夹:

或是输入“ls -a”也可显示帐户根目录下的所有隐藏文件:

最后拖拽即可,还有一个方法更快:

输入:

cp .ssh/id_rsa* /Network/path/to/username/.ssh/

这条命令通吃所有版本的mac系统,包括大部分unix/linux操作系统

##如何显示下载全记录列表

你是否会为找不到误删文件的下载地址而挠头?是否为找不到被删掉的泷泽罗拉的av片而欲火焚身?别急,现在使用OS X强大的命令行就可以将机器自使用起所有的下载文件地址一一列举出来:

在terminal中输入:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* ‘select LSQuarantineDataURLString from LSQuarantineEvent’

无论下载文件有多么悠久的历史,无论你使用什么下载工具或方法,Mac OS X 的Quarantine Manager都会提供其“进驻”时所带的url地址;

如果你不想让谁知道这份巨细无比的下载清单,也可下发指令删除光:

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* ‘delete from LSQuarantineEvent’

如果你有需要的话,这条命令其实大可不必天天执行,只需将它粘贴入 .bash_profile 或 .profile 文件即可让terminal启动时自动执行清除记录的命令。

#你有密集恐惧症么?容易被突如其来的弹出窗口分散注意力么?如果有的话,向你推荐使用Mac自带的“单程序模式”,它只允许用户在屏幕中使用一款应用或功能,其他均会转入后台运行,让你专注于当前的操作,开启办法,在terminal输入:

defaults write com.apple.dock single-app -bool true
killall Dock

关闭“单程序模式”,将命令中的”true” 改为 “false”即可

##防Flashback病毒的几种有效方法

 高阶-Terminal

1. 查找是否存在病毒:

在 Terminal中进入“/Applications/Utilities/”目录下,输入

“defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES”

“defaults read /Applications/Safari.app/Contents/Info LSEnvironment”

“defaults read /Applications/Firefox.app/Contents/Info LSEnvironment”

这三行命令分别遍历查询了Safari,Firefox中的”Info.plist”文件以及 用户帐户内的”environment.plist” 文件,就是为了查找是否有被恶意软件利用的变量,如果命令执行后出现”does not exist,” 则代表这种变量是不存在的,系统目前也是安全的,如果有返回变量所在路径的话,则代表已有恶意软件对其进行了控制。

最后还有一句命令也非常重要,可以逮住在共享用户目录下 .so 文件中隐藏的恶意软件变种:

ls -la ~/../Shared/.*.so

同样,不存在的话会返回”no such file or directory” 。

2. 删除的方法

**记录在第一步发现的恶意软件所在完整路径,执行以下命令,并将下面的” FILEPATH“替换为你所记录的路径:

grep -a -o ‘ldpath[ -~]*’ FILEPATH

找到这些被感染的文件,进行删除,如果你没有找到路径所指示的文件,可以使用”sudo rm” +“空格”+“文件路径”进行删除。这样基本上恶意软件就被清除了,但曾经被感染的软件或数据仍然需要重置或是“清洗”一遍,需要贴以下命令:

sudo defaults delete /Applications/Safari.app/Contents/Info LSEnvironmentsudo chmod 644 /Applications/Safari.app/Contents/Info.plist

sudo defaults delete /Applications/Firefox.app/Contents/Info LSEnvironment

sudo chmod 644 /Applications/Firefox.app/Contents/Info.plist

defaults delete ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

launchctl unsetenv DYLD_INSERT_LIBRARIES

defaults read ~/Library/LaunchAgents/com.java.update ProgramArguments

当最后一条执行后,记录下com.java.update.plist的路径,并删除它

再执行

sudo rm ~/../Shared/.*.so

好了,大功告成。。。

(完)
comments powered by Disqus
Powered by GitHub  &&  Jekyll | CC BY-NC-SA