分类: LINUX
2011-07-07 23:17:45
Outline
- 1.pushd / popd /dirs 命令详解
- 2.改进
- 3.例子
1. pushd / popd / dirs 详解
最近有个项目用到了一个BSP,需要修改原始包中的一些文件。但是,BSP包中的目录往往嵌套的很深,如:
通常修改完文件以后,会返回到顶层目录调用makefile:
但是如果想要在多个访问过的长目录之间切换呢?这时候我们可以用到 pushd/popd/dirs 命令。
pushd可以将指定目录 压入当前shell维护的目录栈(注意:目录栈的第0个目录也即栈顶目录始终是当前目录):
参数说明:
popd可以将指定目录 从当前目录栈中弹出:
参数说明:
2.改进:
由于每次使用pushd +N返回到oldDir后,oldDir已经位于栈顶,此时再切换到其他目录后,oldDir即被覆盖在栈中被删除。如果oldDir是一个常用的目录,则会很不方便(每次用pushd +N切换回oldDir之后,再切换到其他目录之前,必须再执行一次pushd oldDir),因此,可以在bashrc中添加一个新命令pcd,切换回oldDir后,自动pushd oldDir:
3.例子: