Mac Tips

1: 查看端口占用

1
lsof -i :8080

2: 分卷压缩和解压

方法1:

(1) tar -zcvf <压缩文件名>.tar.gz <要压缩的文件或文件夹>

tar -zcvf windows7.tar.gz windos7.iso

(2) split -b <分卷大小> <要分拆的文件名> <分卷名前缀>

split -b 900m windows7.tar.gz windows7_split.tar.gz

(3) cat windows7_split.tar.gza* >windows7.tar.gz

方法2:

(1) 对于使用rar压缩工具分卷的文件 可以使用The Unarchiver来解压还原

3: shell操作快捷键

1
2
3
4
5
6
7
command + t              new tab
command + w close tab
shift + command + [ previous tab
shift + command + ] next tab
control + a go line start
control + e go line end
control + w delete word

4: 显示隐藏文件

1
defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder

5: 显示文件夹大小

1
ls | xargs du -sh

6: Git全局忽略.DS_Store

在~/.gitconfig中引入.gitignore_global

1
2
[core]
excludesfile = ~/.gitignore_global

编辑或新建~/.gitignore_global

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
####################################
######## OS generated files ########
####################################
.DS_Store
.DS_Store?
*.swp
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
####################################
############# packages #############
####################################
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

7: 开启Mac Git自动补全

Step1: download auto completion script

1
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

Step2: add following code to ~/.bash_profile

1
2
3
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi

Step3: renew bash profile

1
. ~/.bash_profile

Step 4: check & test

1
2
git co[tab]
commit config

8: 验证xCode合法性

1
spctl --assess --verbose /Applications/Xcode.app

如果xCode是合法的话, 可以看到类似这样的结果

1
2
3
/Applications/Xcode.app: accepted
source=Apple System
override=security disabled

结果是accepted并且source是Mac App Store、Apple System或Apple

9: Xcode等开发工具离线下载

https://developer.apple.com/download/more/

需要登录你的Apple Developer Account

10: Apple Documentation离线下载和安装

打开该链接查找你要下载的Documentation的地址

例如我们要下载的iOS 9.2 Documentation地址如下

1
2
3
4
<key>name</key>
<string>iOS 9.2 Documentation</string>
<key>source</key>
<string>https://devimages.apple.com.edgekey.net/docsets/20160108/031-45830-A.dmg</string>

下载该dmg后安装(注意这里要记住你安装的目标文件夹, 如果没有设置的话, 默认是安装到根目录/)

1
2
mkdir -p ~/Library/Developer/Shared/Documentation/DocSets
sudo mv /path/to/com.apple.adc.documentation.iOS.docset ~/Library/Developer/Shared/Documentation/DocSets

接下来打开Dash安装iOS Documentation如下

mac_tips_01

11: Xcode Simulator离线下载和安装

截止本文发表时, Xcode版本是7.2, 自带的模拟器系统版本是9.2, 要安装老版本(例如8.4)的模拟器

  • 首先打开Xcode -> Preferences -> Downloads -> 下载iOS 8.4 Simulator -> 然后立刻取消下载

  • 然后从该链接下载模拟器版本8.4, 并将下载好的dmg文件放至~/Library/Caches/com.apple.dt.Xcode/Downloads

  • 最后重复第一步的操作, 这时候Xcode就会使用我们的dmg文件安装iOS 8.4 Simulator了, 安装完成后重启Xcode即可

最后安装好的模拟器是在系统的这个目录下: /Library/Developer/CoreSimulator/Profiles/Runtimes

当然也可以将现成的simruntime文件放置该目录, 常见版本的模拟器我借用别人分享的地址, 提取码是: x5tx

12: Reveal分析其他app

首先你得先安装Reveal

(1) 越狱iPhone!!!

(2) 将Mac上的

/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/Reveal.framework

拷贝至iPhone上的

/System/Library/Frameworks

(3) 将Mac上的

/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib

拷贝至iPhone上的

/Library/MobileSubstrate/DynamicLibraries

(4) 创建libReveal.plist文件并将其拷贝至iPhone上的

/Library/MobileSubstrate/DynamicLibraries/

libReveal.plist的文件内容格式如下, 其中app的bundle在app目录下的iTunesMetadata.plist文件中

1
2
3
4
5
6
{     
Filter = {
Bundles = ("com.apple.AppStore");
Bundles = ("com.laiwang.DingTalk");
};
}

(5) 接着就可以使用Reveal分析上述libReveal.plist文件中添加的应用了 (如果找不到app的话, 请尝试重启设备)

13: 分享Shadowsocks网络给iPhone

在Shadowsocks安装和配置成功后, 需要安装和配置privoxy

1
2
3
4
5
brew install privoxy
brew services start privoxy
echo 'listen-address 0.0.0.0:8118' >> /usr/local/etc/privoxy/config
echo 'forward-socks5t / 127.0.0.1:1080 .' >> /usr/local/etc/privoxy/config
brew services restart privoxy

确认privoxy service运行成功

1
netstat -an | grep 8118

privoxy service运行成功时打印结果如下

1
tcp4       0      0  *.8118                 *.*                    LISTEN

接着在iPhone上做如下配置

选择连接的WiFi -> HTTP代理 -> 手动 -> 服务器(Mac的IP) -> 端口(8118) -> iPhone即可”上网”

14: 分享Shadowsocks网络给homebrew

在Shadowsocks安装和配置成功后, 使用homebrew前

1
export ALL_PROXY=socks5://127.0.0.1:1086

15: 分享Shadowsocks网络给curl

1
echo 'socks5 = "127.0.0.1:1086"' >> ~/.curlrc