什么都的实际应用,pushd
并且popd
当有使用过这两个命令的优点cd
和cd -
?
编辑:我正在寻找这两个命令使用的一些实际示例,或者是与目录保持堆栈的原因(当您使用制表符补全,,cd -
用于缩短的别名cd ..
等)。
pushd
,popd
和dirs
是shell内置程序,可让您操纵目录堆栈。这可以用于更改目录,但可以返回到您来自的目录。
$ pwd
/home/saml/somedir
$ ls
dir1 dir2 dir3
$ pushd dir1
~/somedir/dir1 ~/somedir
$ dirs
~/somedir/dir1 ~/somedir
dirs
命令确认我们现在在堆栈上有2个目录。dir1
以及原始目录somedir
。注意:我们的“当前”目录是~/somedir/dir1
。
dir1
)$ pushd ../dir3
~/somedir/dir3 ~/somedir/dir1 ~/somedir
$ dirs
~/somedir/dir3 ~/somedir/dir1 ~/somedir
$ pwd
/home/saml/somedir/dir3
dirs
显示我们现在在堆栈中有3个目录。dir3
,dir1
和somedir
。注意方向。每个新目录都被添加到左侧。当我们开始弹出目录时,它们也会从左侧出现。
../dir2
$ cd ../dir2
$ pwd
/home/saml/somedir/dir2
$ dirs
~/somedir/dir2 ~/somedir/dir1 ~/somedir
$ popd
~/somedir/dir1 ~/somedir
$ pwd
/home/saml/somedir/dir1
请注意,我们跳回到dir1
。
$ popd
~/somedir
$ pwd
/home/saml/somedir
然后我们回到了起点somedir
。
可能会造成一些混乱,但是堆栈的头部是您当前所在的目录。因此somedir
,即使dirs
显示如下,我们也回到:
$ dirs
~/somedir
我们的堆栈实际上是空的。
$ popd
bash: popd: directory stack empty
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句