Linux 目录切换神器:pushd 命令详解,高效管理目录堆栈 Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8一、命令简介pushd 是 Bash 和 Zsh 等 Shell 中的内建命令用于管理 目录堆栈。它的主要功能是将指定目录添加到目录堆栈的顶部并通常会将当前工作目录切换到该目录。目录堆栈是一个后进先出LIFO的列表记录了用户访问过的目录路径便于快速在目录间切换。该命令常与 popd从堆栈中移除目录和 dirs显示目录堆栈命令配合使用是提高命令行导航效率的重要工具。二、语法格式bash运行pushd [-n] [N | -N | dir]格式说明-n一个可选的选项。N、-N或dir三种互斥的参数形式每次命令只能使用其中一种。N基于 dirs 命令输出的索引进行操作。-N基于 dirs 命令输出的索引进行操作。dir一个具体的目录路径。三、常用选项及参数详解表格选项 / 参数说明-n抑制目录切换。仅将目录添加到堆栈或旋转堆栈顺序而不改变当前的物理工作目录。无参数交换目录堆栈最顶部的两个目录。栈顶当前目录变为原来的第二个目录同时当前工作目录也会切换到该目录。dir目录路径将指定的 dir 目录推入目录堆栈的顶部并切换当前工作目录到 dir。如果与 -n 选项联用则只推入堆栈不切换目录。N将 dirs 命令显示列表从左向右从 0 开始计数中的第 N 个目录循环移动到堆栈顶部。堆栈会随之旋转该目录之前的目录会移动到底部。同时当前工作目录会切换到新的栈顶目录。-N将 dirs 命令显示列表从右向左从 0 开始计数中的第 N 个目录循环移动到堆栈顶部。堆栈会随之旋转该目录之前的目录会移动到底部。同时当前工作目录会切换到新的栈顶目录。关于 dirs 命令dirs 命令默认显示当前的目录堆栈列表最左边的是栈顶索引 0即当前工作目录。四、示例用法示例 1推入新目录并切换bash运行# 查看当前目录和堆栈 [userhost ~]$ pwd /home/user [userhost ~]$ dirs ~ # 将 /var/log 推入堆栈并切换过去 [userhost ~]$ pushd /var/log /var/log ~ # 验证当前目录已改变堆栈已更新 [userhost log]$ pwd /var/log [userhost log]$ dirs /var/log ~示例 2使用 -n 选项只推入不切换bash运行[userhost ~]$ pushd -n /opt /opt ~ [userhost ~]$ pwd # 当前目录仍是 ~ /home/user [userhost ~]$ dirs ~ /opt示例 3无参数交换栈顶两个目录bash运行[userhost ~]$ dirs ~/project /var/log /usr/local [userhost ~]$ pushd /var/log ~/project /usr/local ~ [userhost log]$ pwd # 已切换到 /var/log /var/log示例 4使用 N 旋转堆栈bash运行# 假设当前堆栈状态如下 (dirs 显示) [userhost ~]$ dirs ~ /etc /usr /var # 索引: 0(~) 1(/etc) 2(/usr) 3(/var) # 将索引为 2 的目录移到栈顶 [userhost ~]$ pushd 2 /usr /var ~ /etc [userhost usr]$ pwd # 切换到 /usr /usr示例 5使用 -N 旋转堆栈bash运行# 假设当前堆栈状态如下 (dirs 显示) [userhost ~]$ dirs ~ /etc /usr /var # 从右向左索引: 0(/var) 1(/usr) 2(/etc) 3(~) [userhost ~]$ pushd -1 /usr /var ~ /etc [userhost usr]$ pwd /usr五、注意事项Shell 内建命令pushd 是 Shell 的内建命令并非一个独立的可执行文件。因此查看其详细帮助应使用 help pushd而不是 man pushd。目录堆栈的关联命令pushd 与 dirs查看堆栈、popd弹出栈顶目录共同构成目录堆栈管理工具集建议结合学习使用。堆栈的持久性目录堆栈是当前 Shell 会话的一部分。关闭终端或退出当前 Shell 会话后堆栈内容会丢失。参数互斥性N、-N 和 dir 参数在同一命令中不能同时使用。-n 选项的影响当使用 -n 选项时命令只改变堆栈的逻辑顺序不会发生物理的目录切换。这在编写需要操作堆栈但又不能改变当前执行环境的脚本时非常有用。相对路径与绝对路径推入堆栈的目录路径会被保存。使用相对路径如 ../src可能会在后续切换时产生非预期结果因为其解析依赖于推入时的当前目录。建议使用绝对路径或 pwd 命令获取的路径以确保一致性。Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8

相关新闻

最新新闻

从快递批量查询到物流数据资产:电商运营的效率进化之路

从快递批量查询到物流数据资产:电商运营的效率进化之路

做电商几年,我发现一个奇怪的现象:很多运营每天忙得不可开交,但真正用于"思考"的时间少得可怜。如果你问他们"今天做了什么",答案往往是一长串事务性工作的罗列。而在这串清单里,"查快递&quo…

2026/7/11 2:50:40
MATLAB R2024a 数字信号处理:3种采样率下频谱混叠对比与FFT分析

MATLAB R2024a 数字信号处理:3种采样率下频谱混叠对比与FFT分析

MATLAB R2024a 数字信号处理:3种采样率下频谱混叠对比与FFT分析数字信号处理的核心挑战之一是如何在离散化过程中保留原始模拟信号的全部信息。时域采样定理作为这一领域的基石理论,其重要性不仅体现在理论推导的严谨性上,更在于实际工程应用…

2026/7/11 2:50:40
第七章:指针 ——C 语言的灵魂

第七章:指针 ——C 语言的灵魂

前言欢迎来到第七章!如果说 C 语言有什么是 "绕不过去、也学不懂" 的,那一定是指针了。很多人学 C 语言学到指针就卡住了,甚至因为学不会指针而放弃了 C 语言。但我要告诉你:指针没有那么难,只是需要换个角度…

2026/7/11 2:50:40
RT-Thread Studio 2.1.0 集成 STM32CubeMX:5分钟配置STM32F103RG引脚与时钟

RT-Thread Studio 2.1.0 集成 STM32CubeMX:5分钟配置STM32F103RG引脚与时钟

RT-Thread Studio 2.1.0 深度整合STM32CubeMX:可视化配置实战指南当传统嵌入式开发还在手动编写寄存器配置时,现代IDE已经将硬件初始化效率提升到了全新高度。RT-Thread Studio 2.1.0与STM32CubeMX的深度整合,为STM32开发者提供了一条从引脚配…

2026/7/11 2:50:40
再写一篇快递批量查询的工具选型与效率提升完整指南

再写一篇快递批量查询的工具选型与效率提升完整指南

做电商运营的同行们,每天面对几百上千个快递单号要查,这件事有多烦,不用我多说。这篇文章从实际使用角度出发,帮你理解快递批量查询和物流批量查询的核心价值,以及如何选择和使用合适的工具来提升效率。 一、为什么你…

2026/7/11 2:50:40
自举3D扩散模型:从2D生成到大规模场景构建的技术解析

自举3D扩散模型:从2D生成到大规模场景构建的技术解析

在计算机图形学和生成式 AI 领域,从文本或简单输入创建大规模、高细节的 3D 场景一直是一个核心挑战。传统方法往往需要大量手动建模或依赖于有限且昂贵的 3D 数据。SynCity 3000 提出了一种名为“自举场景级 3D 扩散”的创新方法,旨在解决这一难题。其核…

2026/7/11 2:45:40

月新闻