Linux切换目录一直都是用cd命令的,但是今天了解到目录栈操作,这个用于多目录切换简直方便太多了,
- 先贴一条概念:
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。明白概念我们就比较好理解目录栈了,就像叠罗汉一样,只能一层一层的往上放,上面的自动变成最新的栈。 - 压入栈操作命令pushd:我想要在/usr/local/tomcat7-1这个目录,/dev这个目录和/var下进行快速切换。
- 第一步登录服务器默认停留在~用户主目录下。现在压入一个我想要切换的目录,命令:pushd /usr/local/tomcat7-1。
这时我们可以看到已经切换到了/usr/local/tomcat7-1目录下了,并且输出内容为/usr/local/tomcat7-1 ~,这时我们默认用户主目录~变成了底部栈,/usr/local/tomcat7-1目录变成了顶部栈。 - 第二步,我们继续压入/dev目录入栈,pushd /dev 这时当前操作目录已经变成/dev下的同时,输出目录栈顶部栈为/dev目录,
- 第三部,我们继续压入/var到目录栈。pushd /var 这时我们看到当前操作目录已经变成/var。并输出顶部栈为/var目录
- 现在我们创建了一个目录栈/var, /dev, /usr/local/tomcat7-1, ~,从左到右依次为顶部栈,从顶部栈一直到底部栈,顺序是从左到右依次从0开始计算位置。所以顶部栈的位置为0,次顶部为1,依次往右。
- 显示目录栈用dirs命令
- 当前目录为/var,快速切换到次顶部栈用pushd命令,目录就会切换到/dev目录下。
- 当前了目录是/var,快速切换到用户主目录,也就是底部栈的时候,用pushd +3命令。顶部栈位置为0。也可以pushd -0,从右边往左以0开始。
- 第一步登录服务器默认停留在~用户主目录下。现在压入一个我想要切换的目录,命令:pushd /usr/local/tomcat7-1。
- 弹出栈操作命令popd: 目录栈弹出操作用popd命令,popd命令默认弹出顶部栈,+N:将第N个目录删除(从左边数起,数字从0开始);-N:将第N个目录删除(从右边数起,数字从0开始)。