18. Bash Shell - 目录栈内置功能
程序员文章站
2024-03-24 14:34:34
...
开篇词
借助目录栈,我们可以将我们按顺序访问的目录推入目录栈中,当我们完成一系列操作之后,我们可以基于目录栈的记录按原路往回至源路径。
目录栈命令
目录栈给我们提供了三个可用的命令。
dirs
显示目录栈中所记录的所有目录:
help dirs
pushd
将制指定目录推入目录栈中并将当前工作目录切换至该目录:
help pushd
popd
将目录栈中的末条目录记录从中移除并将当前工作目录切换至该目录:
help popd
准备好目录
我们来准备一些用来演示的目录:
mkdir -p a/b/c/d/e/f/g
tree a
现在我们创建好了层叠式的目录,我们可以开始演示的操作了。目录栈可以存储我们推入的任意目录,这里所使用的层叠式目录只是为了方便演示操作。
命令用法
添加目录
我们将目录添加至目录栈:
cd ~
dirs
pushd a
pushd b
pushd c
pushd d
pushd e
pushd f
pushd g
显示记录的目录
默认方式
借助 dirs 来打印记录的目录:
dirs
用户主目录
借助 dirs -l 来打印记录的目录并显示用户主目录,而不是显示波浪号:
dirs -l
逐行
借助 dirs -l 来逐行打印记录的目录:
dirs -p
逐行加索引
借助 dirs -v 来逐行打印记录的目录以及其索引:
dirs -v
首条记录
借助 dirs -0 来打印记录的第一条目录:
dirs -0
末条记录
借助 dirs +0 来打印记录的最后一条目录:
dirs +0
使用记录目录
从右开始使用
借助 pushd -0 来切换至最右的一个目录并将其作为当前工作目录:
pushd -o
从左开始使用
借助 pushd +1 来切换至最左侧之前的目录并将其作为当前工作目录:
pushd +1
删除记录目录
从右开始删除
借助 popd -0 来删除最右侧的一个目录:
popd -0
从左开始删除
借助 popd +0 来删除最左侧的一个目录并将之前的目录作为当前工作目录:
popd +0
我所撰写的英文版本
18. Bash Shell - Directory Stack Builtins
引用
上一篇: Linux下查询进程占用内存的方法汇总——top/pmap/ps等
下一篇: Dva双向数据流的理解