文档章节

高效的浏览 Linux 目录结构:pushd和popd命令

问题终结者
 问题终结者
发布于 2017/08/18 23:58
字数 686
阅读 14
收藏 0
点赞 0
评论 0
导读 有时候,通过命令来在 Linux 文件系统导航是一件非常痛苦的事情,特别是对于一些新手。通常情况下,我们主要使用cd(改变目录)命令在 Linux 文件系统之间移动。

高效的浏览 Linux 目录结构:pushd和popd命令高效的浏览 Linux 目录结构:pushd和popd命令
在这个教程中,我们将讨论两个相关的命令:pushd和popd,使用它们可以高效的浏览 Linux 目录结构。这两个命令在大多数 shell ,比如 bash、tcsh 中都存在。

pushd 和 popd 命令在 Linux 系统中如何工作

pushd和popd命令根据 ‘LIFO’(后进先出)原则工作。在这个原则之下,只有两个操作是允许的:把一个目录压入栈,以及把一个目录弹出栈。

pushd命令会增加一个目录到栈顶,而popd命令会从栈顶移除一个目录。

为了显示目录栈中(或历史)的目录,我们可以使用下面展示的dirs命令:

$ dirs
或
$ dirs -v

高效的浏览 Linux 目录结构:pushd和popd命令高效的浏览 Linux 目录结构:pushd和popd命令

dirs- 显示位于目录栈中的目录

pushd命令:将一个目录路径添加到/放入目录栈(历史)中,之后,你可以浏览位于目录栈(历史)中的任意目录。当把一个新的目录入栈时,会打印出当前位于栈中的所有目录。

下面这些命令会展示这个命令是如何工作的:

$ pushd  /var/www/html/
$ pushd ~/Documents/
$ pushd ~/Desktop/
$ pushd /var/log/

高效的浏览 Linux 目录结构:pushd和popd命令高效的浏览 Linux 目录结构:pushd和popd命令

pushd-添加新目录入栈

根据上面输出的目录栈可知(目录索引按倒序排列):

  • /var/log是目录栈中的第五个目录,索引为 0
  • ~/Desktop/是第四个,索引为 1
  • ~/Document/是第三个,索引为 2
  • /var/www/html是第二个,索引为 3
  • ~是第一个,索引为 4

另外,我们也可以使用目录索引的形式pushd +#或pushd -#来添加目录入栈。为了进入目录~/Documents,我们可以输入:

$ pushd +2

高效的浏览 Linux 目录结构:pushd和popd命令高效的浏览 Linux 目录结构:pushd和popd命令

pushd-通过数字浏览目录

注意,经过上一步操作以后,栈的内容便发生了改变。所以,要从上面的例子中进入目录/var/www/html,我们应该使用下面的命令:

$ pushd +1

高效的浏览 Linux 目录结构:pushd和popd命令高效的浏览 Linux 目录结构:pushd和popd命令

pushd-通过数字浏览目录

popd命令-从栈顶或历史中移除一个目录。为了列出目录栈中的所有目录,只需输入:

$ popd

为了从目录栈中移除一个目录,我们可以使用popd +#或popd -#命令,在这时,我们需要输入下面的命令来移除目录~/Documents:

$ popd +1

高效的浏览 Linux 目录结构:pushd和popd命令高效的浏览 Linux 目录结构:pushd和popd命令

popd-从栈中以移除目录

via: https://www.tecmint.com/pushd-and-popd-linux-filesystem-navigation/

作者:Aaron Kili 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

原文来自:http://www.linuxprobe.com/pushd-and-popd.html

本文转载自:

共有 人打赏支持
问题终结者
粉丝 10
博文 648
码字总数 80710
作品 0
运维
如何在Linux下环境下快速切换工作目录

在Linux命令行下,我们经常需要在一个目录下执行某些操作在跳转到另外的目录下,也就是使用我们熟悉的cd命令,基本上接触过命令行的人,第一个认识的命令都是cd,了解cd命令会对我们工作效率...

我是偶哦
2016/06/01
123
0
linux另类切换路径方式pushd和popd

pushd 切换到指定路径 popd 回到上次的目录 ====================================== pushd可以切换到后面指定的路径,顺便累积堆栈目录 堆栈:这里把pushd累积的目录称为堆栈 [root@wing e...

CrazyWing
2017/11/21
0
0
交叉编译OpenCV2.3.1

编译这个库真他麻烦,明明工作重点不是编译OpenCV库,但是时间就偏偏耗在这里,从昨天晚上到现在终于编译成功,说说编译的过程。 我使用的环境linux mint 不记得几了。 编译器arm-linux-gnu...

mengshige1988
2013/03/31
0
2
移植命令和库到海思相关芯片

编译fw_printenv工具: make ARCH=arm CROSSCOMPILE=arm-hisiv300-linux- hi3521aconfig make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- make ARCH=arm CROSS_COMPILE=arm-hisiv300-linu......

baiweibi
2017/12/24
0
0
静态编译ffmpeg

静态编译ffmpeg 这两天折腾了一下完全静态编译ffmpeg,期望通过这种方式实现编译出来的ffmpeg能够在各个linux发现版上运行。进而可以延伸到编译出来完全静态的依赖ffmpeg库的应用程序,从而简...

张旭0512
2016/10/14
247
0
linux目录跳转

压入路径1 pushd dir1 压入路径2 pushd dir2 压入路径3 pushd dir3 查看压入的路径 dirs 跳到第2个路径 pushd +2 调到上一个路径 cd - 删除路径 popd +number...

memristor
2016/06/14
26
0
skynet 入门笔记(1):Hello, skynet!

Hello, Skynet! Skynet这名字让我想起了经典科幻电影《终结者》里毁灭人类世界的终极人工智障,skynet的官方文档是挺给力的,但是没有那么好的引导机制,看了半天的文档还是不知道该怎么用s...

uniqptr
06/27
0
0
webrtc build.sh

#!/bin/bash function build_xcode() { echo "*** building WebRTC for the ia32 iOS simulator"; export GYP_GENERATORS="xcode"; export GYPDEFINES="buildwithlibjingle=1 buildwithchrom......

626224816
2017/03/09
0
0
oh my zsh我觉得挺好的7点

理由1:zsh 支持命令选项补全 zsh 除了支持目录的补全,还支持命令选项的补全,例如 ls -<TAB><TAB> 会直接列出所有 ls 的参数,再也不会出现一个命令打到一半,忘记参数导致重开一个 termin...

浮躁请沉下来
2015/10/26
0
0
工作中常用的linux/unix命令

这段时间总在Ubuntu系统上操作PG(postgresql),还有做一些基准测试。有时候根据资料做一些命令操作发现有些常用的命令还不熟悉,用过之后顺便整理了一下,做个记录。 第一部分和PG相关:PG安...

任杰LL
2016/05/13
19
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
11分钟前
0
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
0
0
idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
13
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部