在命令行快速切换目录
浏览:6327次 出处信息
今天在微博上看到一个用命令行快速切换目录的文章,比之前自己的解决方案好了非常多,必须记录下来分享下。
每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/often-used/directory这样来切换目录,现在利用一个简单的配置可以实现如下效果:
首先进入我的日常工作目录,标记一个书签mark sanguo
| cd /Users/kimi/work/123guo/sanguo |
| mark sanguo |
以后我再进入这个目录只需要g sanguo即可
| g sanguo |
通过输入gs指令来浏览所有的标签
| gs |
| #app -> /Applications |
| #sanguo -> /Users/kimi/work/123guo/sanguo |
| #web -> /Library/WebServer/Documents |
实现原理如下
| sudo vim /etc/profile |
编辑/etc/profile文件并在尾部添加以下内容后强制保存 wq!
| # mark |
| export MARKPATH=$HOME/.marks |
| export MARKDEFAULT=sanguo#设置你的默认书签,可以直接输入g跳转 |
| function g { |
| local m=$1 |
| if [ "$m" = "" ]; then m=$MARKDEFAULT; fi |
| cd -P "$MARKPATH/$m" 2>/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 |
建议继续学习:
- 28个Unix/Linux的命令行神器 (阅读:16047)
- 高效Linux用户需要了解的命令行技能 (阅读:12243)
- 命令行画图工具gnuplot用法入门 (阅读:11222)
- Linux命令行里的“瑞士军刀” (阅读:11060)
- 完全用命令行工作 -- 一年后的思考 (阅读:6915)
- perl模块Getopt::Std用法及实例-从命令行读取参数模块 (阅读:6563)
- Perl命令行常见用法及技巧 (阅读:5479)
- 开启命令行下的社交 (阅读:4613)
- Perl 命令行参数 (阅读:3831)
- Firebug Console API 与命令行 (阅读:3700)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
后一篇:Bash的模式和配置文件加载 >>
文章信息
- 作者:kimi 来源: 平凡的世界
- 标签: 切换 命令行
- 发布时间:2013-08-28 22:22:29
建议继续学习
近3天十大热文
-
[928] WordPress插件开发 -- 在插件使用 -
[134] 解决 nginx 反向代理网页首尾出现神秘字 -
[53] 整理了一份招PHP高级工程师的面试题 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 海量小文件存储 -
[51] 用 Jquery 模拟 select -
[50] 全站换域名时利用nginx和javascri -
[50] Innodb分表太多或者表分区太多,会导致内 -
[49] CloudSMS:免费匿名的云短信 -
[47] jQuery性能优化指南
