欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-24 14:34:34
...

开篇词

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

目录栈命令

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

dirs

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

help dirs

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

pushd

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

help pushd

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

popd

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

help popd

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

准备好目录

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

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

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

命令用法

添加目录

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

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

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

显示记录的目录

默认方式

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

dirs

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

用户主目录

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

dirs -l

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

逐行

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

dirs -p

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

逐行加索引

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

dirs -v

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

首条记录

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

dirs -0

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

末条记录

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

dirs +0

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

使用记录目录

从右开始使用

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

pushd -o

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

从左开始使用

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

pushd +1

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

删除记录目录

从右开始删除

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

popd -0

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

从左开始删除

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

popd +0

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

我所撰写的英文版本

18. Bash Shell - Directory Stack Builtins
 

引用