有时候,通过命令来在 Linux 文件系统导航是一件非常痛苦的事情,特别是对于一些新手。通常情况下,我们主要使用cd(改变目录)命令在 Linux 文件系统之间移动。
在这个指南中,我们将探讨两个相关的命令:pushd和popd,使用它们可以高效地浏览Linux的目录结构。这两个命令可以在大多数shell(如bash、tcsh)中找到。
pushd 和 popd 命令在 Linux 系统中的工作原理
pushd和popd命令按照“LIFO”(后进先出)原则工作。根据这个原则,只有两个操作是允许的:将一个目录推入栈中和从栈中弹出一个目录。
pushd命令将一个目录添加到栈的顶部,而popd命令将从栈的顶部移除一个目录。
为了显示目录栈(或历史)中的目录,我们可以使用下面所示的dirs命令:
$ dirs
或
$ dirs -v
dirs- 显示位于目录栈中的目录
pushd命令:将一个目录路径添加到/放入目录栈(历史)中,之后,你可以浏览位于目录栈(历史)中的任意目录。当把一个新的目录入栈时,会打印出当前位于栈中的所有目录。
下面这些命令会展示这个命令是如何工作的:
$ pushd /var/www/html/
$ pushd ~/Documents/
$ pushd ~/Desktop/
$ pushd /var/log/
pushd-添加新目录入栈
根据上面输出的目录栈可知(目录索引按倒序排列):
-
/var/log是目录栈中的第五个目录,索引为 0 -
~/Desktop/是第四个,索引为 1 -
~/Document/是第三个,索引为 2 -
/var/www/html是第二个,索引为 3 -
~是第一个,索引为 4
另外,我们也可以使用目录索引的形式pushd +#或pushd -#来添加目录入栈。为了进入目录~/Documents,我们可以输入:
$ pushd +2
pushd-通过数字浏览目录
注意,经过上一步操作以后,栈的内容便发生了改变。所以,要从上面的例子中进入目录/var/www/html,我们应该使用下面的命令:
$ pushd +1
pushd-通过数字浏览目录
popd命令-从栈顶或历史中移除一个目录。为了列出目录栈中的所有目录,只需输入:
$ popd
为了从目录栈中移除一个目录,我们可以使用popd +#或popd -#命令,在这时,我们需要输入下面的命令来移除目录~/Documents:
$ popd +1
popd-从栈中以移除目录
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !