dirs\pushd\popd命令用法

Linux cd命令深度解析:从基础导航到Shell高级目录管理实战 在Linux和Unix-like系统中,当前工作目录(CWD)是Shell进程执行所有文件操作的核心上下文环境。其原理在于每个进程都维护一个指向文件系统位置的CWD变量,相对路径的解析都基于此。掌握高效目录切换技术对于提升命令行工作效率、保障操作安全具有重要价值,尤其在服务器运维、软件开发及自动化脚本编写等场景中。本文聚焦`cd`命令,深入探讨如何结合**Tab键自动补全**和**目录栈(pushd/popd)** 等高级技巧,构建流畅的终端导航工作流,实现从基础路径切换到多工作区智能管理的进阶。 阅读详情

转自:http://blog.youkuaiyun.com/yucan1001/article/details/8455757


Bourne Again和TC Shell都允许用户将其正在使用的目录列表存放起来,这样就可以在这些目录之间轻易移动。这个目录列表称为栈。它模拟了餐厅所用的盘子:一般将盘子放到栈的顶部或者从栈的顶部取盘子,这就创建了一个先入后出(FILO)的栈。

1. dirs:显示栈

内置命令dirs显示目录栈的内容。如果当目录栈是空的时候调用dirs,它将显示工作目录的名字。

 

$ dirs
~/literature

 

内置命令dirs使用代字符~表示用户主目录的名字。下面几节中的示例均假设用户使用图8-2中给出的目录结构。

 

 

 
图8-2  示例所使用的目录结构

 

2. pushd:将目录压入栈中

使用内置命令pushd(push directory,将目录推到栈顶)可以改变目录,同时添加一个新的目录到栈顶。除改变目录之外,内置命令pushd还将显示栈的内容。图8-3阐明了下面的示例。

 

    $ pushd ../demo
~/demo ~/literature
$ pwd
/home/sam/demo
$ pushd ../names
~/names ~/demo ~/literature
$ pwd
/home/sam/names

 

 

 
图8-3  创建目录栈

 

当不带参数使用pushd时,pushd交换栈顶最上面的两个目录,并将新的栈顶目录(即原来的次栈顶目录)作为新的工作目录(如图8-4所示):

 

$ pushd
~/demo ~/names ~/literature
$ pwd
/home/sam/demo    

 

 

 
图8-4  使用pushd改变工作目录

 

这样使用pushd,就可以轻易地在两个目录之间来回移动。不管是否显式地创建目录栈,都可以使用cd– 切换到前一个目录。为了访问目录栈中的其他目录,可以在调用pushd时,带上一个以加号开头的数字作为参数。栈中目录的编号从栈顶开始算起,栈顶目录的编号是0。下面的pushd命令继续前一个示例,将工作目录改变到literature,并将literature移动到栈顶。

 

$ pushd +2                
~/literature ~/demo ~/names
$ pwd
/home/sam/literature

 

3. popd:将目录从栈中弹出

使用内置命令popd(pop directory,弹出目录)可将目录从栈中移出。不带参数的popd将栈顶目录从栈中移出,并将工作目录改变到这个新的栈顶目录。下面的示例和图8-5给出了这种情况。

 

$ dirs
~/literature ~/demo ~/names
$ popd
~/demo ~/names
$ pwd
/home/sam/demo

 

 

 

 
图8-5  使用popd命令将目录从栈中移出

 

为了移出除栈顶之外的其他目录,可以使用一个以加号开头的数字作为参数传递给popd。下面的示例将目录编号1(即demo)移出:

 

$ dirs
~/literature ~/demo ~/names
$ popd +1
~/literature ~/names   

 

移出标号不为0的目录并不会改变工作目录。

命令行导航核心:cd命令与路径符号全解析 在Linux和Unix系统中,文件系统是组织和管理数据的核心结构,其层次化的目录树是理解操作系统存储逻辑的基础。路径则是访问这些目录和文件的唯一标识,分为绝对路径和相对路径。掌握路径导航原理,是进行服务器管理、脚本编写和软件开发等工程实践的关键前提。通过理解根目录、当前目录、上级目录等基础概念及其符号表示,用户可以高效、准确地定位资源,避免因路径错误导致的脚本执行失败或数据误操作。本文聚焦于cd命令及其核心路径符号的深度解析,涵盖其工作原理、高级技巧及常见避坑指南,旨在帮助读者构建稳健的命令行工作流。 阅读详情

相关推荐

Linux文件系统导航三剑客:cd、pwd、ls深度解析

在Linux命令行环境中,cd、pwd和ls是构建文件系统空间直觉的核心基础命令。它们分别对应路径位移、坐标锚定与目录感知三大底层能力,共同构成无GUI环境下的‘位置感知闭环’。其设计遵循Unix单一职责原则,强调可预测性与组合性,支撑从日常运维到容器调试的广泛场景。深入理解绝对/相对路径解析机制、ls的隐式过滤逻辑(如隐藏文件与权限边界)、cd的符号链接处理(-P参数)及pwd的逻辑/物理路径差异(-L/-P),是突破‘认知断层’、实现精准定位的关键。本文聚焦这三个高频命令的真实决策链与工程实践,助力开发

weixin_33966095的博客 311

深入解析 cd 命令与路径符号:从基础到高效工作流

在 Linux 和 Unix 系统中,文件路径是访问和管理文件系统的核心概念,它定义了文件或目录在层级结构中的唯一位置。路径分为绝对路径和相对路径,前者从根目录(/)开始提供完整地址,后者则相对于当前工作目录进行导航。理解路径符号如“.”(当前目录)、“..”(上级目录)和“~”(用户家目录)的原理,是掌握命令行操作的基础。这些基础概念的技术价值在于,它们构成了所有文件操作和自动化脚本的基石,能显著提升开发与运维效率,避免因路径错误导致的文件丢失或误操作。在实际应用场景中,无论是日常的目录切换、脚本编写,还

weixin_33885676的博客 409

Linux终端三剑客:ls、cd、pwd的底层原理与实战避坑

Linux路径操作是系统使用的基础能力,其核心围绕文件系统结构、权限模型和进程上下文展开。ls命令本质是内核权限检查结果的用户态反馈,cd实际修改进程的当前工作目录(CWD)并触发dentry缓存解析,pwd则暴露逻辑路径与物理路径的根本差异。理解inode引用机制、目录x权限的遍历含义,以及PWD环境变量与/proc/self/cwd的可靠性边界,是解决operation not permitted、cd失效、pwd失真等高频问题的关键。这些能力广泛应用于运维诊断、Shell脚本健壮性设计、容器路径处理及

weixin_33744141的博客 434

linux操作目录栈

Bourne Again和TC Shell都允许用户将其正在使用的目录列表存放起来,这样就可以在这些目录之间轻易移动。这个目录列表称为栈。它模拟了餐厅所用的盘子:一般将盘子放到栈的顶部或者从栈的顶部取盘子,这就创建了一个先入后出(FILO)的栈。1. dirs:显示栈内置命令dirs显示目录栈的内容。如果当目录栈是空的时候调用dirs,它将显示工作目录的名字。 

独自登高楼 望断天涯路 1790

伪傻瓜式安装sql server2008【附带安装包】

安装各式各样的软件无疑是学习过程中…较…为烦躁的一部分 木有醋 但还是开始吧 为什么这是伪呢? 因为刚开始天真无邪的我真的是傻瓜式安装(迷之自信),结果就B了(打开配置管理器的瞬间….一片空白) BaiduCloud分享 红领巾在何方?? Link链接:https://pan.baidu.com/s/1NZCxP0Y27dBPrgHoRWLDyQ...

EuniBoom的博客 6万+

制造业私有化LLM部署实战:从RAG到智能体,构建企业专属知识大脑

大型语言模型(LLM)作为人工智能的核心技术,通过在海量文本数据上进行预训练,具备了强大的语言理解和生成能力。其原理在于基于Transformer架构,通过自注意力机制捕捉长距离语义依赖。这一技术价值在于能将非结构化信息转化为可计算、可推理的知识,从而赋能企业实现知识的高效管理与应用。在制造业等强数据安全与知识密集型领域,私有化部署的LLM结合检索增强生成(RAG)和智能体(Agent)技术,能够深入业务流程,构建安全、专属的智能知识中枢。本文聚焦于如何利用Qwen、LangChain、向量数据库等技术栈,

weixin_42523711的博客 247

Linux学习-目录栈

数据结构:根据一组精确的规则存储和检索数据的实体。栈:一种数据结构,每次只能存入和检索一个元素,在任何时候,下一个要检索的数据是最后一个存储进入的数据。后进后出(FIFO)压入:存储数据元素,最近一次压入的数据元素处在栈的顶部。弹出:从栈顶检索数据元素。shell提供了一个类似栈的功能,来存放目录名称。pushd命令将目录的名称压入目录栈中,popd命令从栈中弹出一个目录名称,dirs命令显示栈的...

Crazy World 923

【深度学习3】ubuntu22.04从零开始搭建深度学习环境

ubuntu22.04从零开始搭建深度学习开发环境

weixin_43387635的博客 1万+

Linux命令:dirs ; pushd ; popd

Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈 你可以将目录压入目录栈,也可以稍后将该目录弹出。在随后的示例中,将会用到以下三个命令: * dirs:显示目录栈 * pushd:将目录压入目录栈 * popd:将目录弹出目录栈 dirs命令显示当前所在目录及目录栈中的内容。即使目录栈为空,dirs也会显示当前所在的目录,示例如下:

517

zabbix6.0.4拓扑图链路显示流量

1. 背景介绍 网络流量监控是网络管理员必备功课,以前研究cacti的weathermap插件,网络流量大小和拥塞情况一清二楚,随着cacti的没落,weathermap插件也不能再继续使用,此时就需要学习了解新的替代方案。 经过研究和实际测试,发现zabbix的拓扑图有这个功能。 以下验证了zabbix的拓扑图显示线路流量的功能。 2. Zabbix 6显示拓扑图流量过程 选择监测-拓扑图 点进Local ne...

u013930899的博客 8483

电动汽车充电设备标准化设计方案:电气原理图

80kW一体式一机一枪充电机电气原理 主电路拓扑见图1,配置1个250A直流充电连接装置,提供4个充电模块安装位置,根据充电功率需求可选配2~4个20kW充电模块。内置直流电能表和计费控制单元,实现计量计费和充电控制功能。 图1 80kW一体式一机一枪充电机主电路拓扑 ...

santirenpc的博客 1万+

linux 下 pushd,popd,dirs,cd- 用法

在linux操作中,我们经常会使用cd命令用于切换当前动作路径,如果不清楚具体想要访问什么路径时,一般会结合ls一步步的进行路径切换。 CD命令 其中github是目录 [root@li1544-92 github]# cd /root/jimmy/ [root@li1544-92 jimmy]# ls github python.py test.log [root@li1544-92 jim...

Keep Moving~ 1084

【论文汇总】Diffusion Models视频生成/视频编辑/可控视频生成/跨模态视频生成

本文总结了Diffusion Models视频生成领域相关的工作,目前共收录142篇,持续更新中。

沉迷单车的追风少年 1672

Linux命令--pushd和popd

Linux有三个关于目录切换的常用命令,分别是cd,pushd,popd。cd大家再熟悉不过了,今天学习了一下pushd的使用。 cd用于切换工作目录,但是如果你在两个目录之间需要频繁切换时,比如/etc/httpd/log/error和/home/testUser/Desktop/shell_test,那这样一直 cd cd会发疯的。所以pushd在此时是个好选择。 pushd的 功能是创建一个目录栈,你可以把你目前常见的几个目录压入栈中,并可以迅速地进行切换,非常方便。如: [root@local

kunkliu的博客 6147

Mamba SSM 实战:IMDb 文本分类 + Mamba-ssm 全流程

Mamba SSM 文本分类链路:IMDb 二分类 → MambaLMHeadModel (d_model=256, n_layer=8, d_state=16, exp2=2) → 末 token 分类头。5 epoch 达 89.2% 准确率 (与 BERT-base 持平), 但显存降低 44% (3.5GB vs 6.2GB)。建议序列长度 ≥ 1024 再选 Mamba, 短序列 (< 512) 用 BERT 更高效。扩展时注意d_state。

m0_71589036的博客 57

32、运算放大器的工作原理与应用

本文详细介绍了运算放大器的工作原理与多种应用场景,涵盖开环与闭环放大器的基本概念、理想运算放大器的特性及其‘黄金规则’。文章深入解析了反相放大器、同相放大器、单位增益跟随器与反相器的配置和增益计算,并探讨了电压比较器及窗口比较器的工作机制。同时提供了运算放大器在实际应用中的选型流程、使用注意事项以及常见故障排查方法,帮助读者全面掌握运算放大器的设计与应用要点。

u5v6w7的博客 164

Shell脚本中cd命令无效的根源与解决方案:进程隔离与目录持久化

在Linux和Unix系统中,Shell脚本的执行机制涉及进程创建与环境隔离的核心概念。当脚本运行时,系统会为其创建子进程,子进程对环境的修改(如工作目录、环境变量)默认无法影响父进程,这是操作系统进程隔离机制的基本原理。这一机制保障了系统稳定性,但也带来了脚本中cd命令执行后目录不持久化的常见问题。从技术价值看,理解进程隔离是编写可靠、可维护Shell脚本的基础,尤其在自动化部署、环境配置和开发工作流等应用场景中至关重要。本文聚焦于Shell脚本中cd命令无效这一典型现象,深入剖析其背后的进程模型,并系统

weixin_34262482的博客 405

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

bash参考手册之六(Bash特性)续六

6.8 目录堆栈 目录堆栈内建命令: 操作目录堆栈的Bash内建命令。 目录堆栈是最近访问的目录的列表。内建命令 pushd 在改变当前目录时,向堆栈增加目录,而内建命令 popd 从堆栈移除指定的目录,并改变当前目录到被移除的目录。内建命令 dirs 显示目录堆栈的内容。 目录堆栈的内容也是shell变量 DIRSTACK 的值。 6.8.1

老尹的笔记 744

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux cd命令深度解析:路径符号、高效导航与实战技巧

在Linux和Unix系统中,文件系统路径是操作系统管理文件和目录的基础概念,它定义了资源在存储结构中的唯一位置。路径分为绝对路径和相对路径,其核心原理在于通过一套特殊的符号语法(如 `/`, `.`, `..`, `~`)来构建指向关系,这构成了命令行导航的基石。掌握这套语法对于提升终端操作效率具有重要技术价值,它使得开发者能够摆脱对冗长绝对路径的依赖,实现快速、精准的目录跳转,是进行脚本编写、系统管理和日常开发的基础技能。在实际应用场景中,无论是进行服务器运维、软件开发还是数据分析,高效的文件系统导航都

weixin_33735077的博客 344

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Shell 内置命令深度解析

Linux Shell 内置命令是直接嵌入在 Shell 程序中的特殊命令,无需创建子进程即可执行。它们具有三大核心价值:执行速度快(避免进程创建开销)、可直接修改 Shell 状态(如环境变量、工作目录)以及能实现外部命令无法完成的操作(如作业控制)。 内置命令主要分为五大类:作业控制命令(bg、fg等)、进程/环境命令(cd、export等)、控制结构命令(if、for等)、信息查询命令(echo、read等)和杂项命令(source、exec等)。

vortex5的博客 1526

linux bash grep,关于linux:bash grep命令查找相同文件5次

我正在构建一个小的bash脚本,以运行在多个目录中找到的另一个bash脚本。这是代码:cd /home/mainuser/CaseStudies/grep -R -o --include="Auto.sh" [\w] | wc -l当我只执行该部分时,它将在每个文件夹中找到5次相同的文件。因此,我没有得到49个结果,而是得到245个。我之前编写了一个递归bash脚本,并将其用作此问题的模板:gre...

weixin_31539461的博客 511

shell脚本编程for in

简介 是一种字符串枚举遍历方法,for in格式中对字符串按照空格的方式进行切分 格式 for 变量 in 字符串 do $变量 done 举例 TOPEX= $(PWD) #获取当前路径 #下面为定义for in循环中字符串的内容,不同名之间用空格隔开 #“\”为续行符 DIRS= \ gpio \ softi2c \ ds32...

刘星燎 7811

Linux系统运维20个核心命令实战地图

Linux命令是操作系统与用户交互的基础接口,其本质是调用内核系统调用、操作文件系统、进程树和I/O子系统的工具链。掌握命令不能止于参数记忆,而需理解背后原理:如`df`与`du`差异反映块设备层与inode层的空间统计逻辑,`find`基于目录树遍历而`grep`专注文本模式匹配,`type`可识别内建命令/别名/外部二进制,直接关系脚本兼容性与PATH调试。这些能力构成Linux故障定位、性能分析、安全审计和信创环境适配的技术底座,在运维、开发、测试及国产化迁移等高频场景中不可或缺。本文聚焦20个经多行

weixin_33910137的博客 432

Linux pwd与ls的本质:cwd路径解析与inode导航原理

在Linux系统中,pwd和ls并非独立命令,而是围绕进程当前工作目录(cwd)这一核心状态的两种表现形式。其底层依赖于内核维护的cwd字段、VFS路径解析机制及ext4文件系统的inode与dirent结构。理解pwd输出的是cwd内存镜像,而ls触发的是带权限校验的路径遍历过程,是掌握Linux文件系统行为的关键。这种设计赋予了系统强路径安全性和可预测性,广泛应用于运维排错、权限审计与脚本健壮性设计等真实工程场景。

weixin_34327761的博客 386
上一篇: 配置本地yum源
下一篇: Sublime使用介绍
Clef
博客等级 码龄12年 125粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值