介绍

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

  • dirs

    dirs有三个参数:

    -p 每行显示一条栈结构中的目录

    -v 每行展示一条栈结构中的目录及其index

    -c 清空目录栈中除当前目录的其他目录

  • pushd

    1)pushd后面跟目录路径,会切换到该目录并将其添加到目录栈,同时显示当前目录栈中的所有目录。

    2)直接执行pushd,会调换目录栈最顶端的两个目录。

    3)pushd+index值,如pushd +1表示切换到目录栈中index值为1的目录。

  • popd

    1)直接执行popd,会移除目录栈中的栈顶。

    2)popd + index,如popd +1表示删除目录栈中index值为1的目录。

    注:有时会用到pushd-index,popd-index,表示从栈底往上数。

代码示例

点击查看代码
~/biosoft/alphafold2.3$ dirs
# ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3$ dirs -v
# 0 ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3$ pushd database/mgnify/
# ~/biosoft/alphafold2.3/database/mgnify ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3/database/mgnify$ pushd
# ~/biosoft/alphafold2.3 ~/biosoft/alphafold2.3/database/mgnify
~/biosoft/alphafold2.3$ pushd+1
# pushd+1: command not found
~/biosoft/alphafold2.3$ pushd + 1
# -bash: pushd: +: invalid number
# pushd: usage: pushd [-n] [+N | -N | dir]
~/biosoft/alphafold2.3$ pushd +1
# ~/biosoft/alphafold2.3/database/mgnify ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3/database/mgnify$ popd
# ~/biosoft/alphafold2.3

pushd 和 popd:对目录栈进行操作的更多相关文章

  1. pushd和popd

    [原文地址]   其实,很早就知道pushd和popd在linux中可以用来方便地在多个目录之间切换.那时比较浮躁,感觉切换目录没必要这么复杂.在实际中,发现通过使用pushd和popd能够极大地提高 ...

  2. bash的pushd和popd

    1 pushd和popd是bash shell的builtin命令 2 pushd和popd维护了一个目录栈 pushd xxx就是将xxx放入目录栈顶. 目录栈顶就是当前的目录. 但是cd的话,会不 ...

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

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

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

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

  5. 在命令行中使用pushd和popd进行快速切换目录

    当频繁的切换三个或三个以上的目录的时候,可以使用pushd命令.每次使用目录路径被存储在栈中,然后用pushd和popd操作在目录之间切换. 例如: [root@gameserver1 ~]# pus ...

  6. 【转载】dirs、pushd、popd指令

    转载自:http://hi.baidu.com/linuxtrip/item/47a38c8eec00e98f4414cfb7 一.目录栈指令 目录栈是用户最近访问过的系统目录列表,并以堆栈的形式管理 ...

  7. Linux 下 pushd,popd,cd- 用法

    一,为何要使用这几个命令? 可能大家会有疑问,为何要使用这几个命令,   难道用cd不就可以切换目录了吗?   没错,使用cd就可以切换到需要访问的目录,   但是有时会是一个路径很长,层次很多的目录 ...

  8. Linux 目录栈及目录切换

    使用 cd - (中杠)会切换到上一次的目录 cd 命令会改变目录栈 1.dirs 1)功能显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录) 2)语法(1)格式:dirs  ...

  9. cmd下PUSHD和POPD命令使用说明

    PUSHD命令保存当前目录以供 POPD 命令使用,然后改到指定的目录. PUSHD [path | ..] path 指定要成为当前目录的目录. 如果命令扩展被启用,除了一般驱动器号和路径,PUSH ...

  10. Linux下文件和目录的相关操作

    文件和目录的操作命令,按以下思路进行整理,感觉更便于记忆和使用 1.创建一个二进制文件 touch f1 2.向文件中写入数据 echo "hello" >> f1 e ...

随机推荐

  1. deployment.yml参考

    apiVersion: apps/v1kind: Deploymentmetadata: labels: com.xx.service: xxxxxxxxxxxxx name: xxxxxxxxxxx ...

  2. SEO高质量外链怎么做?

    其实seo是一个很枯燥的东西,说技术也没有什么技术可言 1.你需要每天坚持更新你的网站,坚持写软文 2.你需要每天发外链,而且有质量的外链 3.你需要每天交换友情链接来增加网站的权重名 4.你需要每天 ...

  3. 杭电 oj 第几天?

    Problem Description 给定一个日期,输出这个日期是该年的第几天.   Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input , ...

  4. Java+selenium自动爬取网站内容并写入本地

    目的:本文主要描述如何使用Java+selenium爬取58同城招聘页,并记录指定职位的招聘公司名保存到本地 一.首先创建一个maven工程,配置依赖包 1 <dependencies> ...

  5. signalR client属性中的大致方法

    T All { get; } 相当于持久连接中的 Broadcast. T AllExcept(params string[] excludeConnectionIds); 给排除本人所有人发送消息. ...

  6. 策略模式demo

    /** StrategyContext. */ public class StrategyContext { private Strategy strategy; // 传入的是Strategy的实现 ...

  7. ansiable学习

    ansiable是用来做什么的? Ansible是一个配置管理和配置工具,是运维开发人员的批操作利器. ansiable是怎样实现高效的? 在一台机器上配置好模板,通过ssh在其他机器上按照模板执行. ...

  8. 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class com.titan.extend.SpringContextLoaderListener

    08-Jun-2022 10:05:21.119 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardConte ...

  9. mac下eclipse关联svn插件

    由于新冠状病毒的疫情这一周都需要在家办公了,家里只有一个mac之前只是娱乐工具,今天不得不用它撸代码,无奈重新安装各种环境,mac和windows的环境安装区别还是很大的,今天差点折磨死我,尤其是在e ...

  10. list tuple dic set的区别

    list是可变的(可以在list里边添加删除替换内容) 声明时用[ ] tuple和list非常类似,但是tuple一旦初始化就不能修改  ,声明时用() classmates = ('Michael ...