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. 一招解决github访问慢的问题

    ​ 之前我在网上搜过解决办法,其中一个是修改 hosts 文件,但是效果不太理想.我在这里给大家推荐github上的一个开源项目:FastGithub .用了这个之后,效果就比较理想了,次次都能访问到 ...

  2. FLUTTER 中 Isolate 的一个例子.

    isolate 起因 最近看了一点isolate的东西, 自己写了一个例子. 普通的的 consummer-producer例子是只有前后两端的,实际上,会把前后两端再进行包装. 我这里这个例子,是把 ...

  3. 韦东山freeRTOS系列教程之【第五章】队列(queue)

    目录 系列教程总目录 概述 5.1 队列的特性 5.1.1 常规操作 5.1.2 传输数据的两种方法 5.1.3 队列的阻塞访问 5.2 队列函数 5.2.1 创建 5.2.2 复位 5.2.3 删除 ...

  4. 一个用来画拉氏图的简单Python脚本

    技术背景 关于拉氏图的更多介绍,可以参考下这篇博客,这里简单引述一部分内容: Ramachandran plot(拉氏图)是由G. N. Ramachandran等人于1963年开发的,用来描述蛋白质 ...

  5. JavaSE 常见时间日期

    java.util包提供了Date类来封装当前的⽇期和时间 构造函数 //当前时间 Date() //从1970年1⽉1⽇起的毫秒数作为参数 Date(long millisec) 常见方法 //返回 ...

  6. 作业错题集锦(pta英文数据结构)

    A graph with 30 vertices and 40 edges must have at most twenty one connected component(s). 要计算最大连通分量 ...

  7. PAT-1002 写出这个数 (20分) JavaScript(node)

    读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10100​​ . 输出格式: 在一行 ...

  8. oeasy教您玩转vim - 58 - # 块可视化

    ​ 块可视化编辑 回忆上节课内容 上次我们了解到行可视模式 行可视模式 V 也可配合各种motion o切换首尾 选区的开头和结尾是mark标记 开头是 '< 结尾是 '> 可以在选区内进 ...

  9. WPF/C#:实现导航功能

    前言 在WPF中使用导航功能可以使用Frame控件,这是比较基础的一种方法.前几天分享了wpfui中NavigationView的基本用法,但是如果真正在项目中使用起来,基础的用法是无法满足的.今天通 ...

  10. Notepad++实现代码格式化

    NotePad++是一个轻量级的代码编辑器,占用内存少,运行速度快,Notepad++本身是不带这个格式化功能的,但他支持NppAStyle插件完成格式化. 1. 下载插件NppAStyle.dll, ...