18. Bash Shell - 目录栈内置功能

开篇词

借助目录栈,我们可以将我们按顺序访问的目录推入目录栈中,当我们完成一系列操作之后,我们可以基于目录栈的记录按原路往回至源路径。
 

目录栈命令

目录栈给我们提供了三个可用的命令。

dirs

显示目录栈中所记录的所有目录:

help dirs

18. Bash Shell - 目录栈内置功能_第1张图片

pushd

将制指定目录推入目录栈中并将当前工作目录切换至该目录:

help pushd

18. Bash Shell - 目录栈内置功能_第2张图片

popd

将目录栈中的末条目录记录从中移除并将当前工作目录切换至该目录:

help popd

18. Bash Shell - 目录栈内置功能_第3张图片
 

准备好目录

我们来准备一些用来演示的目录:

mkdir -p a/b/c/d/e/f/g
tree a

18. Bash Shell - 目录栈内置功能_第4张图片
现在我们创建好了层叠式的目录,我们可以开始演示的操作了。目录栈可以存储我们推入的任意目录,这里所使用的层叠式目录只是为了方便演示操作。
 

命令用法

添加目录

我们将目录添加至目录栈:

cd ~
dirs
pushd a
pushd b
pushd c
pushd d
pushd e
pushd f
pushd g

18. Bash Shell - 目录栈内置功能_第5张图片

显示记录的目录

默认方式

借助 dirs 来打印记录的目录:

dirs

显示目录栈记录的目录

用户主目录

借助 dirs -l 来打印记录的目录并显示用户主目录,而不是显示波浪号:

dirs -l

显示目录栈记录的目录以及用户主目录,而不是波浪号

逐行

借助 dirs -l 来逐行打印记录的目录:

dirs -p

18. Bash Shell - 目录栈内置功能_第6张图片

逐行加索引

借助 dirs -v 来逐行打印记录的目录以及其索引:

dirs -v

18. Bash Shell - 目录栈内置功能_第7张图片

首条记录

借助 dirs -0 来打印记录的第一条目录:

dirs -0

显示第一个被记录的目录

末条记录

借助 dirs +0 来打印记录的最后一条目录:

dirs +0

显示最后一个被记录的目录
 

使用记录目录

从右开始使用

借助 pushd -0 来切换至最右的一个目录并将其作为当前工作目录:

pushd -o

18. Bash Shell - 目录栈内置功能_第8张图片

从左开始使用

借助 pushd +1 来切换至最左侧之前的目录并将其作为当前工作目录:

pushd +1

18. Bash Shell - 目录栈内置功能_第9张图片
 

删除记录目录

从右开始删除

借助 popd -0 来删除最右侧的一个目录:

popd -0

删除第一个记录的目录

从左开始删除

借助 popd +0 来删除最左侧的一个目录并将之前的目录作为当前工作目录:

popd +0

删除最后一个记录的目录并将之前记录的目录作为当前工作目录
 

我所撰写的英文版本

18. Bash Shell - Directory Stack Builtins
 

引用

  • 6.8.1 目录栈内置功能
     

参见

想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻

你可能感兴趣的:(Linux,管理员手册,BashShell目录栈命令,Bash使用记录的目录,Bash显示记录的目录,Bash删除记录的目录,Bash目录栈增删改查)