Linux切换目录pushd、popd、dirs命令

pushd和popd在linux中可以用来方便地在多个目录之间切换,切换目录虽然有一点复杂。在实际中,发现通过使用pushd和popd能够极大地提高效率。
cd ~:表示返回当前用户的默认目录
cd -:表示回到之前的目录
[[email protected] share]$ pushd /boot/grub
/boot/grub /usr/share ~/data
[[email protected] grub]$ dirs -v
0 /boot/grub
1 /usr/share
2 ~/data
[[email protected] grub]$ cd -
/usr/share
[[email protected] share]$ cd -
/boot/grub
[[email protected] grub]$ cd -
/usr/share

一:dirs命令
显示目录栈的内容
常用参数:
-p
每行显示一条记录
-v
每行显示一条记录,同时展示该记录在栈中的index
-c
清空目录栈

二:pushd命令
pushd后面如果直接跟目录使用,会切换到该目录并且将该目录置于目录栈的栈顶。(时时刻刻都要记住,目录栈的栈顶永远存放的是当前目录。如果当前目录发生变化,那么目录栈的栈顶元素肯定也变了;反过来,如果栈顶元素发生变化,那么当前目录肯定也变了。
pushd不带任何参数。
将目录栈最顶层的两个目录进行交换
[[email protected] ~]$ dirs -v
0 ~
1 /usr/share
2 ~/data
[[email protected] ~]$ pushd
/usr/share ~ ~/data
[[email protected] share]$ dirs -v
0 /usr/share
1 ~
2 ~/data
备注:每次pushd命令执行完成之后,默认都会执行一个dirs命令来显示目录栈的内容
三:popd命令
将目录栈中的栈顶元素出栈
popd不带参数
将目录栈中的栈顶元素出栈。这时,栈顶元素发生变化,自然当前目录也会发生相应的切换

popd +n
将目录栈中的第n个元素删除(这里的n就是命令dirs -v显示的目录index,n从栈顶开始)
[[email protected] share]$ dirs -v
0 /usr/share
1 ~
2 ~/data
[[email protected] share]$ popd +1
/usr/share ~/data
[[email protected] share]$ dirs -v
0 /usr/share
1 ~/data

popd –n
将目录中第n个元素删除(n从栈底开始)
[[email protected] share]$ dirs -v
0 /usr/share
1 ~/data
[[email protected] share]$ popd -1
~/data
[[email protected] data]$ dirs -v
0 ~/data

pushd和popd的+n和-n区别
+n的含义是从栈顶往栈底方向进行计数,从0开始;
-n的含义刚好相反,从栈底向栈顶方向计数,从0开始。

原文地址:https://blog.51cto.com/1929297/2430974

时间: 2024-10-12 15:45:30

Linux切换目录pushd、popd、dirs命令的相关文章

linux shell pushd popd dirs命令

1.dirs1)功能显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)2)语法(1)格式:dirs  [-clpv]  [+n]  [-n](2)选项-c    删除目录栈中的所有记录-l     以完整格式显示-p    一个目录一行的方式显示-v    每行一个目录来显示目录栈的内容,每个目录前加上的编号+N  显示从左到右的第n个目录,数字从0开始-N   显示从右到左的第n个日录,数字从0开始注意:dirs始终显示当然目录, 再是堆栈中的内容:即使目录堆栈为空,

pushd,popd,dirs,cd -让切换目录更方便

与linux cd命令相似,用pushd实现在不同目录间切换 在命令行模式下,当你工作在不同目录中,你将发现你有很多时间都浪费在重复输入上如果这些目录不在同一个根目录中,你不得不在转换时输入完整的路径名,这难免让人有些难以忍受但你可以用以下的一个或两个步骤来避免所有多余的输入:用命令行解释器中的历史记录,或者用命令行函数pushd 用命令行解释器中的历史记录的好处是只需按很少的键在命令行中用向上的箭头来查找你用过的命令,直到你找到,然后按回车键如果你所切换的两个目录在整个驱动器的子目录结构中很接

Linux切换目录、查看目录下的文件、文件类型介绍和查看文件的元数据信息

本篇博客介绍几个Linux的基础命令:写的如有不足,还望读者不吝赐教! 切换目录 cd(ChangeDirectory) 切换工作目录 语法:cd  [要切换的目录] cd:进入用户的宿主目录(回家) cd  ~:进入用户的家目录(和cd作用一样) cd  -:在上一次执行 cd 命令的目录和当前目录来回切换 cd..:切换当前目录的上一级目录 cd  ../.. :返回上两级的工作目录 cd  /etc:切换到/etc目录下 选项: -P:如果要切换的目录是个软链接,则切换到软链接指向的目标目

Linux学习--目录及文件处理命令

Linux中命令的格式为 命令 [-选项] [-参数]  多个选项可以写在一起. 一.创建目录命令 mkdir --make directories 1.普通创建 语法:mkdir [目录名] 如,在/tmp 下创建一个目录 ,命令如下: mkdir /tmp/hehe 2.递归创建目录 语法:mkdir -p [目录名] 此时,若要在本身不存在的目录下再次创建一个子目录的话,上述命令就不能用了.在这种情况下,需要用到一个参数 mkdir -p,命令如下: mkdir -p /tmp/lala/

小蚂蚁学习Linux(3)——Linux一级目录说明和常用命令解释

根目录下的一级目录解释说明: /etc     配置文件目录       /home    普通用户家目录 /bin     命令保存目录       /lib        系统库保存目录 /boot    启动目录,启动相关文件            /mnt    系统挂载目录 /dev      设备文件保存目录        /media    挂载目录 /root    超级管理员家目录         /proc    内存的挂载点 /tmp    临时目录            

Linux——修改目录与文件权限命令chmod

转:作者是百度账户 Linux系统中的chmod命令主要用来修改目录和文件的权限,默认情况下只有root用户才能使用.该命令的使用方式为命令+修改内容+要修改的文件或者目录,同时它还有一些选项最为常用的就是-R,意思是递归处理,一旦使用该选项那被操作的目录及目录下的所有文件都会同样发生权限变更.在修改方式上chmod命令支持两种修改方式,下面逐一演示. 字母操作符修改法 所谓的字母操作符修改法实际上就是用字母表示所有者.所属组.其他用户,用操作符表示增减权限的文字的表示法.权限注意分为三种读(r

Linux切换为超级用户的命令

问题描述 使用vi编辑器写好内容后保存并退出时遇到以下问题 解决方案 该问题的原因是用户权限不够,因为普通用户用 vi 不能保存文件,需要使用超级用户才可以. 先转换为超级用户:su 再用vi打开文件进行保存:vi...:wq 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10640855.html

Linux系统结构目录、ls命令、文件类型、alias命令笔记

Linux系统结构目录:   使用ls命令查看根目录就可以看到系统结构目录: useradd命令可以创建一个普通用户: 安装tree命令: tree命令可以树形的方式显示目录结构,在CentOS7中的最小化安装tree命令是需要自己手动安装的: 安装完成: 安装完成后可以使用tree来看某个目录下的树形结构: 查看tree命令有哪些使用方式: 上面的方式显示的帮助文档不够直观,我们可以使用man命令来显示一个命令文件的帮助文档: 指定tree命令显示的树形结构的层次: 大部分常用命令都在以下几个

Linux 指令详解 pushd 快速切换目录

指令:pushd 在不同目录间切换 在命令行模式中,当需要在不同目录中不停的切换时会发现不停的输入目录很麻烦,这个时候就需要用上pushd函数了 pushd工作原理: pushd将指定目录压入当前shell维护的目录栈,从而可以实现多个不同路径之间的切换. Ps:默认情况下,pushd函数可能不包括在你的Linux中,但存在于red Hat和用Red Hat驱动的系统中. 语法: # pushd [-n] [+N | -N | dir] 参数: -n: 只将目录加入到目录栈中,不切换目录 +N: