快速目录切换使用到的是成为目录栈的东东,通过三个命令实现。pushd目录入栈与切换、dirs查看栈中内容、popd栈中目录出栈。
1、pushd命令
pushd命令执行,会在内存中维持一张目录列表,便于随时切换列表内目录
pushd命令是切换到上一次访问的目录,同时调整目录记录列表的顺序(pushd命令的实际作用和“cd -”的命令相类似)
pushd [-n] [dir]
pushd [-n] [+n] [-n]
将目录推入目录栈,或者轮换栈中的内容,使栈的顶部成为当前工作目录。 没有参数时,交换顶部两个目录,返回 0,除非目录栈为空。如果给出了参数, 它们有如下含义:
+n
轮换栈中内容,使得 dirs给出的列表中从左数第n个目录 (从 0 数起) 成为目录栈的顶部。
–n
轮换栈中内容,使得 dirs给出的列表中从右数第n个目录 (从 0 数起) 成为目录栈的顶部。
-n
仅向栈中添加目录,不切换当前工作目录。
dir
添加dir到栈顶,使得它成为新的当前工作目录。
2、dirs
dirs [-clpv]
没有选项时显示当前保存的目录。默认输出为一行,目录名用空格分开。
-c
删除所有条目,清空目录栈。
-l
产生长列表;默认列表格式使用波浪线来表示个人目录。
-p
输出目录栈,一行一个。
-v
将pushd命令生成的目录列表加上编号。
3、pop命令
popd [-n] [+n]
+n
删除 dirs给出的列表中从左数第n个目录。
–n
删除 dirs给出的列表中从右数第n个目录。
-n
仅从栈中删除,不切换当前工作目录。