Linux学习-目录栈

本文介绍如何使用shell内置的目录栈功能进行高效目录管理。通过pushd、popd和dirs命令,用户可以在多个工作目录间轻松切换,提高工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构:根据一组精确的规则存储和检索数据的实体。

栈:一种数据结构,每次只能存入和检索一个元素,在任何时候,下一个要检索的数据是最后一个存储进入的数据。后进后出(FIFO)

压入:存储数据元素,最近一次压入的数据元素处在栈的顶部。

弹出:从栈顶检索数据元素。

shell提供了一个类似栈的功能,来存放目录名称。

pushd命令将目录的名称压入目录栈中,popd命令从栈中弹出一个目录名称,dirs命令显示栈的内容。

目录栈是一种高级工具,运行维护一个目录列表,每当需要时,可以将工作目录改变为列表中的一个目录。

在任何时候,栈顶的目录名称就是当前的工作目录。

改变栈顶目录名称就会自动地改变工作目录,改变工作目录也会自动地改变栈顶目录名称。

命令动作
dirs显示栈中目录名称(home目录显示为~)
dirs -l显示栈中目录名称(home目录显示为完整路径名)
dirs -v显示栈中目录名称(每行一个,并有数字标识)
pushd 目录名称将指定目录压入栈中,并改变工作目录(栈顶改变)
pushd +n经目录#n移到栈顶,并改变工作目录(栈顶改变)
popd弹出栈顶,并改变工作目录(栈顶改变)
popd +n从栈中移除目录#n
dirs -c除工作目录外,移除目录栈中所有目录


ps:

dirs -c 会清空栈,但是永远不会看到一个完全空的栈,因为栈顶永远是工作目录。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值