开关MAC的rootless功能

OS X El Capitan中,在内核下引入了Rootless机制,以下路径:

/System
/bin
/sbin
/usr (except /usr/local)

均属于Rootless范围,即使root用户无法对此目录有写和执行权限,只有Apple以及Apple授权签名的软件(包括命令行工具)可以修改此目录。

要么思考你这个操作的意义之后,使用其他方式完成你的操作
比如你要改vim的配置,请放在~/.vim/中,而不是/usr/share这种全局路径
要么关闭Rootless(非开发者一般不推荐,或者建议执行后再次开启)

附关闭方法:
重启,开机按住Command + R,以Recovery分区启动,然后选择以下方式:

csrutil disable #关闭
csrutil enable #打开

作者:DreamPiggy
链接:https://www.zhihu.com/question/36108835/answer/65969780
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

给dig工具打上EDNS补丁

dig工具默认不支持谷歌edns,通过打补丁可让dig支持+client的方式查询,如以下代码:

#下载bind包
wget ftp://ftp.isc.org/isc/bind9/9.9.3/bind-9.9.3.tar.gz
tar xf bind-9.9.3.tar.gz
cd bind-9.9.3
#从Wilmer van der Gaast下载补丁.
wget https://wilmer.gaa.st/edns-client-subnet/bind-9.9.3-dig-edns-client-subnet-iana.diff
#Patch the code, configure (without OpenSSL because we only want dig) and compile.
patch -p0 < bind-9.9.3-dig-edns-client-subnet-iana.diff
./configure --without-openssl
make

在bind-9.9.3/bin/dig目录下,即可找到编译好的dig二进制工具!

MAC 常用快捷键收集

Ctrl + h 退格删除一个字符,相当于通常的Backspace键
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标到行尾的字符
Ctrl + c 取消(cancel)当前行输入的命令,相当于Ctrl + Break
Ctrl + a 光标移动到行首(Ahead of line),相当于通常的Home键
Ctrl + e 光标移动到行尾(End of line)
Ctrl + l 清屏,相当于执行clear命令
Ctrl + p 调出命令历史中的前一条(Previous)命令,相当于通常的上箭头
Ctrl + n 调出命令历史中的下一条(Next)命令,相当于通常的上箭头
Ctrl + w 删除从光标位置前到当前所处单词(Word)的开头
Ctrl + y 粘贴最后一次被删除的单词
Alt+← 光标单词间移动(向左)
Alt+→ 光标单词向右移动