linux 命令之 pushd、popd、dirs,以及栈的基础知识

栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表

栈的修改需要遵循先进后出的原则。每次删除(退栈)的总是当前栈中”最新”元素(最后入栈的元素),,而最先插入的元素是被放在栈的底部,要最后才能删除。

如图所示,元素是以 a1,a2,…,a(n-1),an的顺序入栈,退栈的顺序则是 an,a(n-1),…,a2,a1

pushd命令:将目录压入目录栈 pushd [-n] [+N | -N | DIR] -n : 只加入目录到目录栈,不进行cd动作。 +N : 移出 0 ~ N-1 元素依次插入栈底。(从左到右编号) -N : 移出0 ~ -N 元素依次压入到栈顶 (从右到左编号) DIR: 目录名。

示例

$ pwd/a$ pushd -n /b; pushd -n /c; pushd -n /d/a /b/a /c /b$ pwd /a ##以上结果说明只执行了压入目录栈的动作。没有执行cd动作$ pushd +1 /d /c /b /a$ pushd -1 /b /a /d /c

popd命令:将目录弹出目录栈 popd [-n] [+N | -N]

-n : 只弹出栈中目录,不进行cd动作+N : 弹出栈中第N个目录(从左到右编号,从0开始)-N:弹出栈中第N个目录(从右到左编号,从0开始)

dirs命令:显示目录栈 dirs [-clpv] [+N] [-N]

-c : 清空目录栈-l : 显示完整路径。-p : 一个目录一行的显示目录栈中的目录-v : 一个目录一行的显示目录栈中的目录,目录前加上目录在目录栈中的编号(从左到右编号)+N : 显示第N个目录。(从左到右编号)-N : 显示第N个目录。(从右到左编号)

含泪播种的人一定能含笑收获。

linux 命令之 pushd、popd、dirs,以及栈的基础知识

相关文章:

你感兴趣的文章:

标签云: