Shell 目录栈允许你将一系列目录压入栈中,然后方便地在这些目录之间进行切换。以下是一些常见的命令及其用途:

常见命令

  1. pushd:将当前目录压入栈中,并切换到指定目录。
  2. popd:从栈中移除顶部的目录,并切换到新的顶部目录。
  3. dirs:显示当前目录栈中的所有目录。

使用示例

pushd

将当前目录压入栈中,并切换到指定目录。

$ pushd /var/log

如果你在/home/user目录下执行pushd /var/log,目录栈将变为:

/var/log /home/user

你现在在/var/log目录中。

popd

从栈中移除顶部的目录,并切换到新的顶部目录。

$ popd

如果你在/var/log目录中执行popd,目录栈将变为:

/home/user

你现在在/home/user目录中。

dirs

显示当前目录栈中的所有目录。

$ dirs

输出可能是:

/home/user /var/log

实际应用

  1. 快速切换目录:当你需要频繁在几个目录之间来回切换时,目录栈可以节省大量输入路径的时间。
  2. 脚本编写:在编写脚本时,可以使用目录栈来保存和恢复目录状态,确保脚本在执行完毕后返回到初始目录。

其他选项

pushdpopd 还有一些其他选项,可以更灵活地操作目录栈:

  • pushd +N:将栈中第 N 个目录移动到顶部,并切换到该目录。
  • popd +N:移除栈中第 N 个目录。

示例

$ pushd /dir1
$ pushd /dir2
$ pushd /dir3
$ dirs
/dir3 /dir2 /dir1 $ pushd +1
$ dirs
/dir2 /dir3 /dir1 $ popd +1
$ dirs
/dir2 /dir1

Shell 目录栈操作的更多相关文章

  1. Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈

    你可以将目录压入目录栈,也可以稍后将该目录弹出.在随后的示例中,将会用到以下三个命令: * dirs:显示目录栈 * pushd:将目录压入目录栈 * popd:将目录弹出目录栈 dirs命令显示当前 ...

  2. pushd 和 popd:对目录栈进行操作

    介绍 目录栈是保存目录的栈结构,当前目录处于该栈结构的顶端,可使用dirs查看目录栈的目录.pushd命令可添加一个目录到目录栈,popd命令会清除目录栈中的一个目录. dirs dirs有三个参数: ...

  3. C语言中关于对目录的操作

    原文地址:C语言中关于对目录的操作 目录的操作不论是在嵌入式产品还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,笔者主要是讨论在Linux平台下对目录的一系列操作: 1.获取当前目录操作: ...

  4. 命令行的目录栈(pushd指令与popd指令)

    在命令行下经常需要切换目录,通常的做法是手打目录名,而如果有时候我们需要临时离开一个目录去操作什么,过会再回来,重新打一次目录想必是很麻烦的,这时候就可以用目录栈了,直接pushd 目录,然后就放心的 ...

  5. windows下使用 Secure Shell Client工具操作linux常用命令

    如果项目部署在linux系统上,而我们使用的是windows系统,那我们可以使用Secure Shell软件进行操作,那怎么使用它来操作tomcat呢? 1.  cd /usr/share/apach ...

  6. python 常用对linux系统文件及目录的操作

    目录 1.取得当前目录——os.getcwd() >>> import os >>> s=os.getcwd()#获得当前运行脚本所在目录 >>> ...

  7. linux shell 目录

    linux shell 目录 目录 linux shell 目录 类型 unix支持三大主流shell linux支持的shell(可有四种) 部分相关命令 查询进程 ps pstree kill 查 ...

  8. Python模拟入栈出栈操作

    目标: 1.编写菜单,提示用户操作选项(push,pop,view,quit) 2.规则:定义列表,先入栈,后出栈,后入栈,先出栈 1.模拟入栈.出栈操作 >>> list1 = [ ...

  9. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  10. shell执行mysql操作

    http://ully.iteye.com/blog/1226494 http://www.jb51.net/article/55207.htm shell执行mysql操作 mysql  -hhos ...

随机推荐

  1. 全国产RK3568J + FPGA的PCIe、FSPI通信实测数据分享!

    测试数据汇总 案例 时钟频率 理论速率 测试结果 FSPI通信案例 150MHz 71.53MB/s 读速率:67.452MB/s 写速率:52.638MB/s PCIe通信案例 100MHz 803 ...

  2. 记一次aspnetcore发布部署流程初次使用k8s

    主题: aspnetcorewebapi项目,提交到gitlab,通过jenkins(gitlab的ci/cd)编译.发布.推送到k8s. 关于gitlab.jenkins.k8s安装,都是使用doc ...

  3. Docker开启远程安全访问

    一.编辑docker.service文件 vi /usr/lib/systemd/system/docker.service 找到 [Service] 节点,修改 ExecStart 属性,增加 -H ...

  4. Codeforces Round 935 (Div. 3)

    A. Setting up Camp 题目描述 The organizing committee plans to take the participants of the Olympiad on a ...

  5. node.js 增删改查(原始)

    index.js  连接数据库 const mongoose = require('mongoose') //数据库连接27017是mongodb数据库的默认端口 mongoose.connect(' ...

  6. 如何优雅地使用Mybatis逆向工程生成类

    文/朱季谦 1.环境:SpringBoot 2.在pom.xml文件里引入相关依赖: 1 <plugin> 2 <groupId>org.mybatis.generator&l ...

  7. 图表绘制之RepeatNode的妙用

    图表绘制之RepeatNode的妙用 前言 最近接到许多大屏项目,其中有一个智慧大楼的项目,大致是由3d场景+数据图表组成,需要能监控实时数据.安防 监控.出入统计以及消防安全等功能如下图 但是在开发 ...

  8. vue中sass与SCSS的区别

    在Vue中,通常使用SCSS(Sassy CSS)而不是Sass来编写样式.SCSS是Sass的一种语法扩展,提供了更多的功能和灵活性,因此在Vue项目中更常见.下面是Sass和SCSS之间的主要区别 ...

  9. [oeasy]python0024_ 输出时间_time_模块_module_函数_function

    ​ 输出时间 回忆上次内容 ​print​​函数 有个默认的 ​​end参数​ ​​end参数​​ 的值可以是任意字符串 ​​end参数​​ 的值会输出到结尾位置 ​​end参数​​ 的默认值是 ​​ ...

  10. 工作单元(UnitOfWork) 模式 (1)

    在开始UnitOfWork模式之前有必要回顾下我们耳熟能详的Data Access Object(DAO)模式,即数据访问对象.DAO是一种简单的模式,我们构建应用的时候经常会使用到它,它的功能就是将 ...