本文共 1139 字,大约阅读时间需要 3 分钟。
在命令行下频繁切换目录,确实是一项重复性工作。有没有想过通过配置简化流程呢?以下方法可以让你的工作效率大幅提升。
我在日常工作中经常需要访问同一目录,这时候我会标记一个书签。例如:
cd /Users/kimi/work/123guo/sanguomark sanguo
输入命令后,书签将被创建。接下来只需输入:
g sanguo
就能快速跳转到指定目录。如果你需要浏览所有标签,可以使用 gs
命令:
gs#app ->/Applications#sanguo ->/Users/kimi/work/123guo/sanguo#web ->/Library/WebServer/Documents
要实现上述功能,你需要修改系统配置文件。打开终端,输入以下命令:
sudo vim /etc/profile
在文件末尾添加以下内容并保存:
# 标记导航MARKPATH=$HOME/.marksMARKDEFAULT=sanguofunction g { local m=$1 if [ "$m" = "" ]; then m=$MARKDEFAULT; fi cd -P "$MARKPATH/$m" >/dev/null || echo "No such mark: $m"}function mark { mkdir -p "$MARKPATH" local m=$1 if [ "$m" = "" ]; then m=$MARKDEFAULT; fi rm -f "$MARKPATH/$m" ln -s "$(pwd)" "$MARKPATH/$m"}function unmark { local m=$1 if [ "$m" = "" ]; then m=$MARKDEFAULT; fi rm -i "$MARKPATH/$m"}function gs { ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 13-}_completemarks() { local curw=${COMP_WORDS[COMP_CWORD]} local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ' ' -f 13) COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw")) return 0}complete -F _completemarks g unmark
这样,你就可以方便地管理和切换目录了。
转载地址:http://joufk.baihongyu.com/