在Linux下,需要切换路径时,习惯的方案是制并粘贴路径,然后使用 cd命令。但是,如果需要在多个路径间来回切换,这种方法的效率就变得极为低下,时间都耗费在路径的复制粘贴上了。
其实,有个简便快捷的方式。就是利用pushd 和 popd 命令切换目录。一般情况下,Bash和其他shell都支持使用 pushd 和 popd 命令切换目录。 这两个命令会创建一个路径栈,它是一个保存了已访问目录的LIFO列表。
pushd
- 压入并切换路径:
现在栈中包含两个节点:/var/ ~,当前目录为 /var/pushd /var/
- 再压入下一个目录路径
现在栈中包含三个节点:/usr/src /var/ ~,当前目录为/usr/srcpushd /usr/src
- 再压入一个目录路径
pushd /etc/
现在栈中包含四个节点:/etc /usr/src /var/ ~,当前目录为/etc
你可以根据自己的需要压入更多的路径。但是,节点多了,记不住,怎么办?可以用dirs命令 -
查看目录栈里的内容
dirs
或
dirs -v
-
切换路径
当你想切换到栈中任意一个路径时,只需要上面的ID就可以,比如说,切换到~:
pushd +3
注意是切换后,ID也是随着变化的:
-
删除栈中节点
popd
不带参数删除栈顶节点,并自动切换到下一个目录节点中,也可以指定ID,这时会删除ID指定的节点,并切换到ID的后续节点路径下
popd +2