平时工作中经常切换代码目录,最常用的就是cd了。但是用cd切换的话,很大的问题就是如果来回切换的目录大于两个的话,就需要不断的敲 cd../../../../这样子,手都快敲断了、
最近了解一个命令,可以轻松的来回切换目录。pushd ,popd
通常,cd- 能够切换 两个目录,
例如:
如上可以看出来,实际上 cd - 其中的 - 应该就是 OLDPWD是 替代。
cd - 和 cd $OLDPWD 等效
而pushd命令呢,看名字可以知道 应该和入栈 压栈有关系。
先熟悉一个命令 dirs
我事先通过pushd 存放了三个目录,加上现在的目录,dirs可以显示 4个存放的目录。现在执行pushd,效果如下
可见,自动切换了目录 0
然后执行 pushd +1,效果如下
可见,自动切换了序号为1的目录下
再看 popd命令
显而易见,popd就是将目录 出栈了 。
pushd popd 完全符合栈的 先进先出规则。
dirs常用的有两个参数:
选项 | 含义 |
-p | 每行显示一条记录 |
-v | 每行显示一条记录,同时展示该记录在栈中的index |
-c | 清空目录栈 |