MAC 开发配置

Mac使用的一些配置,软件等记录

配置

Java Home设置

With the Java optional package or Oracle JDK installed, adding one of the following lines to your ~/.bash_profile file will set the environment variable accordingly.

export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

JDK的安装目录为/Library/Java/JavaVirtualMachines

运行程序提示被修改需要删除

sudo spctl --master-disable

设置Hostname

sudo scutil --set HostName <name>

设置环境变量

~/Library/LaunchAgents/里面创建文件environment.plist内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my.startup</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>
launchctl setenv SPARK_HOME /Users/haseochen/Documents/spark-2.1.0-bin-hadoop2.6
launchctl setenv PYSPARK_PYTHON /Users/haseochen/anaconda/bin/python
launchctl setenv PYTHONPATH Users/haseochen/Documents/spark-2.1.0-bin-hadoop2.6/bin:/Users/haseochen/Documents/spark-2.1.0-bin-hadoop2.6/python:/Users/haseochen/Documents/spark-2.1.0-bin-hadoop2.6/python/lib/py4j-0.10.4-src.zip
launchctl setenv PRODUCTS_PATH /Users/mortimer/Projects/my_products
launchctl setenv ANDROID_NDK_HOME /Applications/android-ndk
launchctl setenv PATH $PATH:/Applications/gradle/bin
</string>

</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

你可以在<string></string>段之间增加多个launchctl命令
plist会在系统重启后生效。你可以可以执行aunchctl load ~/Library/LaunchAgents/environment.plist立即生效

访问共享

在自带的Finder中点击菜单Go->Connect to Server… 输入服务器地址即可

afp://osx-server01/software  //MAC共享
smb://win-client01/Work-Docs //Win共享
nfs://lin-server01/software //Linux
http://xxxxx/xxxxx
ftp://10.1.104/

修改PATH变量

vim /etc/paths

禁止chorm手势

defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE

终端命令

粘贴剪贴板内容至终端->排序->去重->重定向到剪贴板

1
pbpaste | sort | uniq | pbcopy

卸载文件夹

diskutil eject /dev/disk1

显示系统信息

system_profiler

屏幕截图

screecapture ~/Desktop/screencap.jpg

让Mac不进入休眠状态

pmset noidle  关掉终端或Ctrl+C可以取消该命令

Shell 命令

批量替换文件内容

find . -type f -name '*.sh' -exec sed -i '' 's/stringA/stringB/g' {} +

Mac OS X显示链接 netstat lsof

mdfind

是一个非常灵活的全局搜索命令,类似Spotlight的命令行模式,可以在任何目录执行文件名、文件内容进行检索

mdfind 苹果操作系统    
//搜索文件内容或文件名包含苹果操作系统的文件
mdfind -onlyin ~/Desktop 苹果操作系统
//在桌面上搜索文件内容或文件名包含苹果操作系统的文件
mdfind -count -onlyin ~/Desktop 苹果操作系统
//统计搜索到的结果
mdfind -name 苹果操作系统
//搜索文件名包含苹果操作系统的文件
mdfind "Mark Twain"
//查询文件内容
mdfind "kMDItemFSName == '*xcode*'c && ( kMDItemKind == 'MP3*' || kMDItemKind == 'QuickTime*' || kMDItemKind == 'Video Media' ) "
//这个命令的含义是检索包含xcode文件名的音视频文件,不区分大小写。

mdls

mdls可以列出某个文件或文件夹的所有元数据信息,针对不同文件显示不同的元数据信息,例如文件创建时间、类型、大小等,如果是图片或音视频文件,则会显示更多元数据信息。使用方式非常简单:

mdls ~/Desktop/a.jpg
如果想查看图片的ISO数据,可以使用如下命令:
mdls ~/Desktop/a.jpg|grep ISO

sips命令批量处理图片

#把当前用户图片文件夹下的所有 JPG图片宽度缩小为 800px,高度按比例缩放
sips -Z 800 ~/ Pictures/ *. JPG

#顺时针旋转 90 ˚
sips -r 90 ~/ Pictures/ *. JPG  

#垂直反转
sips -f vertical ~/ Pictures/ *. JPG

显示/隐藏桌面内容快捷键

chflags hidden ~/ Desktop/ * //隐藏桌面内容
chflags nohidden ~/ Desktop/ * //显示桌面内容

常用软件

iTerm2

iTerm 终端配置

Zsh

以下两个包安装好以后我感觉默认够用了

brew install zsh zsh-completions

man结果高亮

# man page highlight
export LESS_TERMCAP_mb=$'\E[01;31m'       # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m'  # begin bold
export LESS_TERMCAP_me=$'\E[0m'           # end mode
export LESS_TERMCAP_se=$'\E[0m'           # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;246m'    # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m'           # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline

Visual Studio Code

Visual Studio Code 使用插件及设置

Rime输入法—鼠须管

神级输入法「鼠鬚管」配置指南

MySQL

brew install mysql

We’ve installed your MySQL database without a root password. To secure it run:
mysql_secure_installation

MySQL is configured to only allow connections from localhost by default

To connect run:
mysql -uroot

To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don’t want/need a background service you can just run:
mysql.server start

redis

To have launchd start redis now and restart at login:
brew services start redis
Or, if you don’t want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf

为自带的字典程序扩展新字典

1.下载朗道英汉和汉英词典,解压缩得到两个后缀为dictionary的文件
2.把这两个文件复制到~/Library/Dictionaries下。
3.启动字典程序,你就会看到增加了朗道英汉字典和朗道汉英字典。

Spotlight

Spotlight注释功能定位文件

OS X的文件系统提供了 Spotlight注释功能,可以帮助用户更有针对性地定位文件。选中一个文件或文件夹, command + i 打开简介,在 Spotlight注释功能中加入自己特定的关键词。关掉简介窗口,呼出 Spotlight并输入刚才的关键词,可以准确定位到相关的文件或文件夹。

重建索引

sudo mdutil -i off
//该命令用来关闭索引
sudo mdutil -E
//该命令用来删除索引
sudo mdutil -i on
//该命令用来重建索引

快捷键

缩放屏幕

control + Trackpad
option + command + ± //这个需要开启辅助

粘贴纯文本

shift+option+command+v

移动文件

command + option + v

特殊字符输入

美元($)shift + 4
美分(¢)option + 4
英镑(£)option + 3
人民币(¥)option + Y
欧元(€)shift + option + 2
连接号(–)option + -
破折号(—)shift + option + -
省略号(...)option + ;
约等于(≈)option + X
度(°)shift +option + 8
除号(÷)option + /
无穷大(∞)option + 5
小于等于(≤)option + ,
大于等于(≥)option + .
不等于(≠)option + =
圆周率(π)option + P
正负(±)shift + option + =
平方根(√)option + V
总和(∑)option + W
商标(™)option + 2
注册(®)option + R
版权( ©)option + G

隐藏程序

option+command+h  除了你正在操作的程序,其他程序都会隐藏

截图

Shift + Command + 5

其他

终端sudo使用Touch ID

编辑/private/etc/pam.d/sudo文件在其中添加一行auth sufficient pam_tid.so现在内容如下:

# sudo: auth account password session
auth sufficient pam_tid.so
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

程序多开

open -n /Applications/XXX.app

Automator+Applescript创建菜单

--通知Finder
tell application "Finder"
    --异常处理  
    try
        --获取选中文件的全路径
        set filename to POSIX path of (selection as text)
        --通过脚本file -b获取文件类型
        set fileType to (do shell script "file -b " & filename)
        --如果不是文件夹或以app结尾,执行open -n脚本
        if (fileType does not end with "directory") or (filename ends with "app") then
            do shell script "open -n " & filename
        end if
    end try
end tell
打赏支持:如果你觉得我的文章对你有所帮助,可以打赏我哟。