Linux pushd/popd命令切换目录
source link: https://www.myfreax.com/popd-and-pushd-commands-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Linux pushd/popd命令切换目录
pushd和popd命令是允许您在Linux和类Unix的操作系统以目录堆栈的方式切换目录
Linux pushd/popd命令切换目录
pushd
和popd
命令是允许您在Linux和类Unix的操作系统以目录堆栈的方式切换目录。
尽管pushd
和popd
是非常强大且有用的命令,但它们却被低估并且很少使用。
在本教程中,我们将向您展示如何使用pushd
和popd
命令切换系统的目录树。目录堆栈是您先前浏览过的目录的列表。可以使用dirs
命令查看目录堆栈的内容。
使用pushd
命令切换到目录时,目录会添加到堆栈中,而使用popd
命令会从堆栈中删除目录。
当前工作目录始终位于目录堆栈的顶部。 当前工作目录是用户当前所在的目录文件夹。每次与命令行交互时,当前目录称为工作目录。
pwd
命令可让您查看当前所在的目录。在文件系统中导航时,可以使用Tab
键自动补全目录的名称。在目录名称的末尾添加斜杠是可选的。
pushd
,popd
和dirs
是shell内置程序,在不同的shell中其行为可能略有不同。我们将介绍命令的Bash内置版本。
pushd命令
pushd
命令的语法形式是pushd [OPTIONS] [DIRECTORY]
。其中OPTIONS
是pushd
命令的选项,可选参数,DIRECTORY
是可选参数,指定目录。
例如,要将当前目录保存到目录堆栈的顶部并同时切换到/var/www
目录,您可以运行命令pushd /var/www
,这其实相当于使用cd命令切换目录。
成功后,命令pushd /var/www
打印目录堆栈。~
表示当前用户家目录。
pushd /var/www
pushd
命令首先将当前工作目录保存到堆栈的顶部,然后切换到指定的目录。由于当前目录必须始终位于堆栈的顶部。
因此更改后,新的当前目录将移至堆栈的顶部。如果您使用cd
命令切换到另一个目录,则堆栈的顶部目录也随之切换。
pushd
命令接受两个选项,+N
和-N
,可用于导航到堆栈的第几个目录Nth
。+N
选项切换到堆栈列表的Nth
元素。
从零开始,从左到右计数。使用-N
时,计数方向是从右到左。为了更好地说明这些选项。
请先运行命令dirs -l -v
打印当前目录的堆栈,终端输出将显示目录堆栈的索引列表。
dirs -l -v
0 /opt
1 /usr/local
2 /var/www
3 /home/myfreax
例如要切换到目录/var/www
,并将其移到堆栈的顶部。从上到下或从左到右计数时,目录的索引为2
,因此命令是pushd +2
。
在不指定任何参数与选项运行pushd
命令时,将切换到上一工作目录,并使新的前一个目录成为当前目录。这与运行命令cd -
是一样的。
从下到上计数时,/var/www
目录的索引为1
,因此命令pushd -1
。
popd
命令
popd
命令的语法形式是popd [OPTIONS]
。在不指定任何选项运行popd
时,popd
从堆栈中删除第一个目录,并导航到目标目录。
与pushd
相同,popd
也接受+N
和-N
选项,这些选项可用于删除堆栈的第几个目录Nth
。
假设我们的目录堆栈存在目录/opt /usr/local /var/www /etc/nginx ~
。如果运行popd
命令,它将从堆栈中删除/opt
并切换到/usr/local
目录。
终端将会打印将打印目录堆栈/usr/local /var/www /etc/nginx ~
。
popd
/usr/local /var/www /etc/nginx ~
通常,您都会使用cd
命令从一个目录导航到另一个目录。但是,如果您在命令行上花费大量时间填写目录路径的时候,pushd
和popd
命令将提高您的效率。
如果您有任何问题或反馈,请随时发表评论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK