在命令行快速切换目录(转载)

今天在微博上看到一个用命令行快速切换目录的文章,比之前自己的解决方案好了非常多,必须记录下来分享下。

每天在命令行下,一大部分的工作都是一遍又一遍的输入 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!

 1 # mark
 2 export MARKPATH=$HOME/.marks
 3 export MARKDEFAULT=sanguo#设置你的默认书签,可以直接输入g跳转
 4
 5 function g {
 6     local m=$1
 7     if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
 8     cd -P "$MARKPATH/$m" 2>/dev/null || echo "No such mark: $m"
 9 }
10 function mark {
11     mkdir -p "$MARKPATH"
12     local m=$1
13     if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
14     rm -f "$MARKPATH/$m"
15     ln -s "$(pwd)" "$MARKPATH/$m"
16 }
17 function unmark {
18     local m=$1
19     if [ "$m" = "" ]; then m=$MARKDEFAULT; fi
20     rm -i "$MARKPATH/$m"
21 }
22 function gs {
23     ls -l "$MARKPATH" | grep ^l | cut -d ‘ ‘ -f 13-
24 }
25
26 _completemarks() {
27     local curw=${COMP_WORDS[COMP_CWORD]}
28     local wordlist=$(ls -l "$MARKPATH" | grep ^l | cut -d ‘ ‘ -f 13)
29     COMPREPLY=($(compgen -W ‘${wordlist[@]}‘ -- "$curw"))
30     return 0
31 }
32
33 complete -F _completemarks g unmark

文章路径找不到,等找到之后添

时间: 2024-11-08 18:32:25

在命令行快速切换目录(转载)的相关文章

Mac 在命令行快速切换目录 mark

转自: http://www.ccvita.com/520.html ,略修改. 每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/often-used/directory这样来切换目录,现在利用一个简单的配置可以实现如下效果: 首先进入我的日常工作目录,标记一个书签mark sanguo cd /Users/kimi/work/123guo/sanguo mark sanguo 以后我再进入这个目录只需要g sanguo即可 g sanguo 通过输入

命令行快速切换目录

背景:作为一个在linux下工作的人,很多时候要频繁的切换目录.windows有快捷方式,鼠标一点就好了.当然,linux也可以.某个不知名的专家说过,windows能做的linux都能做,windows不能做的linux也能做.先不说有木有道理了,暂且我就认为linux比windows强大一丢丢吧. 方案:使用符号链接跳转,实际上这个手工解决方案总结起来是在一个隐藏文件夹下(例如 ~/.marks)储存符号链接.这里有4个shell函数:jump, mark, unmark, 和marks.

windows安装使用python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 3.多版本的切换三种方法: 1)修改C:\Python27;C:\Python33内python.exe为python2.7.exe.python3.3.exe,即可区别开来 2)path路径中去除不用的,保留要用的 3)切换到想使用版本的python.exe目录下使用python解释器 4.下载好

psql命令行快速参考

psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出.使用以下命令可以看到psql完整的选项列表: $ psql --help 表1-1 psql命令行选项 选项 意义 -a 从脚本中响应所有输入 -A 取消表数据输出的对齐模式:功能与“-P format=unaligned”相同 -c <查询> 仅仅运行一个简单的查询(或者内部命令)然后退出 -d <数据库名> 指定连接到的数据库名(默认为

一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之较复杂的命令

第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之"较复杂的命令" 在写第三章的时候,发现自己已经忘记了好多命令.其实我并没有按照Zed A.Shaw的提示,将这些命令做成小卡片,然后每天去记忆.可能源于我的目的并非是为了掌握并精研Python,我写博客并不是单纯为了分享自己的学习经验.而是希望自己能够通过学习python和写博客的形式,让自己以后养成这样的学习和记录习惯,有助于以后技能的掌握和积累.Python起到抛砖引玉的作用. 闲话少说,下面开始介绍

一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第三章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门

第三章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门 以后我都会将<“笨办法”学Python>简称为“这本书” 本人用了近5年的MacBook,但在此之前,从未使用过电脑自带的“终端Terminal”(图标:).在非程序员的世界里,建立和删除文件夹或文件,都是:鼠标右键点新建/删除,这是UI带来的便利.但是,却不知道如何利用命令行实现这些操作. 首先,要掌握几个我们平时常用,但在代码界有另外名称的名词:目录.路径.打印. --目录:我们认为它是这样的:标题:第一章:第

快速切换目录命令go

平时有很多项目的目录,需要频繁的在这些目录中切换,效率很低. 之前总是在shell里ctrl + r 或者 cd -,后来目录多了这招也不好使了 我是个懒人,什么事重复三遍就不能忍 然后就用Python造了个命令go,可以方便智能的随意切换目录 先上代码,再继续说 #.bashrc中加入 go () { cd $(python /Users/auxten/scripts/thepath.py "$1") } /Users/auxten/scripts/thepath.py内容如下 #!

命令行基础、目录和文件管理、教学环境介绍、总结和答疑

查看内核版本[[email protected] ~]# uname -r 3.10.0-693.el7.x86_64 [[email protected] ~]# hostname #显示主机名 [[email protected] ~]# pwd #显示当前所在位置 [[email protected] ~]# cd / #切换到 / 目录下 [[email protected] /]# pwd #显示当前所在位置 [[email protected] /]# ls #显示当前所在目录的 内

Linux 指令详解 pushd 快速切换目录

指令:pushd 在不同目录间切换 在命令行模式中,当需要在不同目录中不停的切换时会发现不停的输入目录很麻烦,这个时候就需要用上pushd函数了 pushd工作原理: pushd将指定目录压入当前shell维护的目录栈,从而可以实现多个不同路径之间的切换. Ps:默认情况下,pushd函数可能不包括在你的Linux中,但存在于red Hat和用Red Hat驱动的系统中. 语法: # pushd [-n] [+N | -N | dir] 参数: -n: 只将目录加入到目录栈中,不切换目录 +N: