linux popd 命令,Linux中的pushd推入和popd弹出命令

pushd和popd是允许您使用目录堆栈并在Linux和其他类似Unix的操作系统中更改当前工作目录的命令。尽管pushd和popd是非常强大和有用的命令,但它们却被低估并且很少使用。

在本教程中,我们将向您展示如何使用pushd和popd命令导航系统的目录树。

目录堆栈

目录堆栈是您先前浏览过的目录的列表。使用dirs命令可以看到目录堆栈的内容。使用pushd命令切换到目录时,目录会添加到堆栈中,而使用popd命令会删除目录。

当前工作目录始终位于目录堆栈的顶部。 当前工作目录是用户当前正在其中的目录文件夹。每次与命令行交互时,您都在一个目录中工作。

pwd命令可让您找出当前所在的目录。

在文件系统中导航时,使用Tab键自动完成目录名称。在目录名称的末尾添加斜杠是可选的。

pushd,popd和dirs是shell内置程序,在不同的shell中其行为可能略有不同。我们将介绍命令的Bash内置版本。

pushd命令

pushd命令的语法如下:pushd [OPTIONS] [DIRECTORY]

例如,要将当前目录保存到目录堆栈的顶部并更改为/var/www,您可以输入:~$ pushd /var/www

成功后,以上命令将打印目录堆栈。 ~是我们执行pushd命令的目录。代字号~表示主目录。/var/www ~

pushd首先将当前工作目录保存到堆栈的顶部,然后导航到给定目录。由于当前目录必须始终位于堆栈的顶部,因此更改后,新的当前目录将移至堆栈的顶部,但不会保存在堆栈中。要保存它,您必须从中调用pushd。如果您使用cd切换到另一个目录,则堆栈的顶部将丢失,

让我们向堆栈中添加另一个目录:/var/www$ pushd /opt/opt /var/www ~

要禁止默认更改目录,请使用-n选项。例如,要将/usr/local目录添加到堆栈中但不更改到堆栈中,请输入:/opt$ pushd -n /usr/local

由于当前目录(始终位于顶部)未更改,因此将/usr/local目录添加到堆栈顶部的第二位置:/opt /usr/local /var/www ~

pushd接受两个选项,+N和-N,可用于导航到堆栈的Nth目录。 +N选项更改为堆栈列表的Nth元素,从零开始从左到右计数。使用-N时,计数方向是从右到左。

为了更好地说明这些选项,让我们打印当前目录堆栈:/opt$ dirs -l -v

输出将显示目录堆栈的索引列表:0 /opt

1 /usr/local

2 /var/www

3 /home/myfreax

如果要更改到/var/www目录,并将其移到堆栈的顶部,将使用以下之一。

从上到下(或从左到右)计数时,目录的索引为2。pushd +2

从下到上计数时,/var/www目录的索引为1。pushd -1.

不带任何参数使用时,pushd将切换前两个目录,并使新的前一个成为当前目录。这与使用cd -命令时相同。

popd命令

popd命令采用以下形式:popd [OPTIONS]

不带参数使用时,popd从堆栈中删除顶层目录,并导航到新的顶层目录。

假设我们有以下目录堆栈:/opt /usr/local /var/www /etc/nginx ~

如果运行popd命令,它将从堆栈中删除/opt并切换到/usr/local目录:/opt$ popd

输出将显示新的目录堆栈:/usr/local /var/www /etc/nginx ~

-n选项禁止更改默认目录,并从堆栈中删除第二个项目:/opt$ popd -n/usr/local /etc/nginx ~

与pushd相同,popd也接受+N和-N选项,这些选项可用于删除堆栈的Nth目录。/opt$ popd +1/usr/local ~

结论

通常,您将使用cd命令从一个目录移动到另一个目录。但是,如果您在命令行上花费大量时间,则pushd和popd命令将提高您的生产率和效率。

如果您有任何问题或反馈,请随时发表评论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发跨平台app推荐React Native还是flutter?

嗯。。。这个问题十分不好回答啊(捋下鱼须)。闲鱼作为flutter领域的先驱者,以及fish_redux、flutter_boost等当红flutter库的作者,当然是欢迎广大的开发者多多使用flutter相关技术栈 逃~:)。咳咳,不过呢,我们还是正经得聊一下Reac…

直播连麦贾扬清,谈谈他所理解的四大 AI 落地问题 | 攻“疫”技术公开课

从机器学习模型的层次来看,大致经历了两次发展浪潮:浅层学习(Shallow Learning)和深度学习(Deep Learning)。1980年代,人工神经网络的反向传播算法(也叫Back Propagation算法或者BP算…

解决linux下创建用户时出现Creating mailbox file: File exists

在linux下用useradd添加用户时,出现错误: Creating mailbox file: File exists? 为什么会出现这样的问题? 原来linux下添加用户后,会在系统里自动加一个邮箱(系统邮箱) 路径是:/var/spool/mail/用户名. 可以直接用命令#rm -rf /var/spool/mail/用户…

flutter在2019年会有怎样的表现?

Flutter的趋势 在移动端,受成本和效率的驱使,跨平台一站式开发慢慢成为一个趋势。从Hybird,RN,WEEX,Flutter,到各种小程序或快应用的大量涌现,虽然很多跨平台方案都有各自的优缺点,…

linux区分用户的权限级别可用,Linux用户及权限管理

基本操作首选我们梳理一下 Linux 下的用户、用户组、文件权限等基本知识,然后后面通过一个案例来实际演示一下权限设置的一些操作。首先 Linux 系统中,是有用户和用户组的概念的,用户就是身份的象征,我们必须以某一个用户身份来操…

别人家的工程师:阿里巴巴工程师有了新帮手,AI可帮助修Bug

尽管工程师用代码创造了AI,但AI又可以对这些代码点评一番、甚至修复Bug,工程师和AI的关系正在变得微妙。 AI评委引热议,阿里巴巴表示:AI不会取代工程师 4月18日,2019阿里巴巴研发效能峰会——“83行代码挑战赛”决赛…

31岁,年薪33万:“谢谢今天裁掉我” !有底气的人生无需解释!

最近脉脉一则帖子炸锅了:某HR发帖称公司以按时下班为由裁员。这种情况下很多人都慌了,大家纷纷把“副业救国”奉为神律。可是你有没有认真的想过,为什么现在大家都需要副业:意外裁员后,房贷能够按时还上不至于“回收”…

linux用户、用户组 增删改查专栏

文章目录一、用户操作1. 用户创建2. 用户删除3. 用户修改4. 用户查看二、用户组操作2.1. 用户组创建2.2. 用户组删除2.3. 用户组修改2.4. 用户组查看三、用户和用户组操作演示3.1. 用户和用户组创建3.2. 手动将用户添加到指定用户组3.3. 权限演示一、用户操作 1. 用户创建 #创…

linux脚本语言求累加和,Linux Shell脚本语言与数学表达式

当你理解了Shell脚本,每当需要时都能流畅编写时,那种感觉很爽的。本章中,我们将教你用脚本语言进行比较复杂的数学运算。让我们从斐波那契数列开始吧。斐波那契数列,又称黄金分割数列,指的是这样一个数列:0…

你应该知道的 HBase 基础,都在这儿了

阿里妹导读:2006 年10 月Google 发布三架马车之一的《Bigtable:A Distributed Storage System for Strctured Data》论文之后,Powerset 公司就宣布 HBase 在 Hadoop 项目中成立,作为子项目存在。后来,在2010 年左右逐渐…

一文读懂Docker及其对系统管理员的重要性

作者 | Damian Perera编译 | 火火酱,责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)自从Docker在2013年初上线以来,就与程序员及系统管理员之间产生了一种爱恨交加的奇妙关系。虽然与我交谈过的一些经验丰富的的开发人员…

调整selinux状态为disabled

vim /etc/selinux/config setenforce 0

主流微服务注册中心浅析和对比

开源产品受开发者热捧,是因为其代码透明、可以参与共建、有社区进行交流和学习,当然更重要的是开源产品的接入成本低。个人开发者或者中小型公司往往会将开源产品作为选型首选。 开发者通过阅读源代码,理解产品的功能设计和架构设计&#xf…

linux内核重要结构体,Linux中list_head结构体相关 | 技术部落

在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用&#xff0…

Java老矣,尚能饭否?2020 Java生态系统报告出炉

最近,Jrebel公布了一份2020 Java生态系统报告,这份报告主要关注开发人员在开发过程中使用的技术。这份报告包含了技术人员正在用的编程语言、应用程序架构、应用服务器、运行时平台、框架技术、IDE、JRE/JDK版本、数据库、部署模型、构建工具和虚拟化工具…

AI评委引热议,阿里巴巴表示:AI不会取代工程师

昨日,一位能给工程师代码打分的“AI评委”引发了热议。起因是在2019阿里巴巴“83行代码挑战赛”决赛现场,一位运行在云端的AI评委和现场的专家评委、大众评委配合,一起对选手提交的的代码做综合评价。 “AI是否会取代工程师”的话题再次在网络…

FTP连接时出现“227 Entering Passive Mode”的解决方法

modprobe ip_nat_ftpservice vsftpd restartservice vsftpd status

windows2012运行linux,Linux一分钟部署完毕上线运行,windows server你要折磨我两天?...

原标题:Linux一分钟部署完毕上线运行,windows server你要折磨我两天?周四晚上好,各位~~经过数度折腾之后,终于对windows累觉不爱了。且不说点点点的弊端,浪费鼠标左右键的机械力,还有无数个需要…

使用DataWorks来调度AnalyticDB任务

DataWorks作为阿里云上广受欢迎的大数据开发调度服务,最近加入了对于AnalyticDB的支持,意味着所有的AnalyticDB客户可以获得任务开发、任务依赖关系管理、任务调度、任务运维等等全方位强大的能力,现在就给大家仔细介绍下如何使用DataWorks来…

稳定、可扩展、模块化、简化部署过程、版本控制……一文看懂 Kubernetes 到底如何运用!...

来源 | Daniele Fontani编译 | 火火酱,责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)说实话,我是个Kubernetes爱好者。Kubernetes是软件开发的重要一步。当我遇到它时,我就想:“这就是将容器融入…