山寨 CGVG

CGVG是08年时同事推荐我的搜索工具,查找速度很快,分为cg和vg两个命令,cg查找关键字,vg可以快速打开cg的搜索结果(通过搜索结果里的序号)。

这个东西完全可以装在Mac上,但macport里却没有,我不想在系统里装一堆没法控制的文件,所以就用BASH函数山寨了一个,最基本的:

cg (){
    grep $1 -rn .
}

这个完全没问题,就是生成的格式难看了了点,所以又用awk完善了一下:

cg () {
    grep "$1" -rn . | awk 'BEGIN {FS=":"};{print "\033[1;31mPath:\033[0;0m "$1     " \033[0;31m"  $2 "\033[0;0m\n=> " $3}'
}

其实完全可以用awk加上trim和关键字高亮的效果,但把这个脚本变得太长就失去我本意了。

Mac 转移用户文件夹

笔记本的开关机速度已经慢到无法忍受,昨天就重装了,这还是我第一次重装 Mac 操作系统,安装过程轻松愉快,一点也不折腾。

但由于要重新分区,所以得备份所有数据,我 iTunes 里的音乐已经多达 35G,备份相当费时。反过来讲,这也是我要重分区的主要目的,把用户目录转移到一个新分区,以后重装就不用重复备份数据的痛苦了。

转移目录其实很简单,在图形界面就可以做:在系统设置->用户帐号->右键点击用户名->在高级设置里就可以更改。

但我转移的时候还不知道有这么简单的办法,是在终端上改的:

1. 把当前用户目录同步到目标卷标:

sudo ditto -rsrc /Users/dongsheng /Volumes/storage/Users/dongsheng

2. 然后用 dscl 更改用户目录设置:

sudo dscl . -change /Users/dongsheng NFSHomeDirectory /Volumes/storage/Users/dongsheng

3. 删掉旧的用户目录,然后做个符号链接

sudo rm -rf /Users/dongsheng
sudo ln -s /Volumes/storage/Users/dongsheng /Users/dongsheng

注意,有的文章说要用 niutil 重新设置用户目录,但这个命令在 10.5 以后的操作系统中不存在,需要用 dscl 处理。

比 Linux 麻烦的多,Linux 只用 usermod -m 即可搞定,可能 Mac 的设计目标是鼓励用户使用 GUI 而忽略了优化终端吧。

参考文章: