让切换目录更方便: pushd,popd,dirs,cd – 一,为何要使用这几个命令? 可能大家会有疑问,为何要使用这几个命令, 难道用cd不就可以切换目录了吗?...还有:因为工作的需要,我们需要不停在几个很深层的目录之间切换,不止一个, 那么即使有tab键帮忙,我们也会因为一个cd命令花费很多时间,如何在多个目录之间切换时能更方便些 pushd,popd...是我们的好帮手 说明: pushd,popd,dirs这几个我们讲到的命令是bash内建的命令, 所以只要登录到了bash,这几个命令就可以使用了 二,如何在两个目录之间切换...用popd即可 看例子: [root@localhost sbin]# dirs -v 0 /usr/local/sbin 1 ~ 2 /boot/grub 3...不加参数的运行情况: popd把堆栈顶端的目录从堆栈中删除,并切换于位于新的顶端的目录 说明之二: popd 加有参数 +n时, n是堆栈中的第n个目录,表示把堆栈中第n个目录从堆栈中删除
pushd 和 popd 命令基础 为了更好地理解 pushd 和 popd 命令的作用,让我们先讨论堆栈的概念。想象你厨房案板上有一个空白区域,你想在上面放一套盘子。你会怎么做?...现在,假设你想回到 /usr/lib 目录,所以你所要做的就是执行 popd 命令: $ popd /usr/lib ~/Downloads ~ popd 命令不仅会将当前目录切换到 /usr/lib...这样,popd 命令将允许你以相反的顺序浏览这些目录。 一些高级用法 现在我们已经讨论了 pushd 和 popd 命令的基础知识,让我们继续讨论与这些命令相关的一些其它细节。...例如,如果要使用 popd 从顶部(目前是 ~/Downloads)删除第三个条目,你可以运行以下命令: popd +2 记住堆栈索引的初始值是 0,因此我们使用 2 来访问第三个条目。...经验丰富的脚本编写者通常以以下方式使用这些命令: popd >/dev/null 2>&1 上述命令确保 popd 保持静默(不产生任何输出)。同样,你也可以静默 pushd。
在linux的shell中可以使用 pushd和popd 命令方便地在多个目录之间切换。通过使用pushd和popd能够极大地提高效率。...和popd是对一个目录栈进行操作,而dirs是显示目录栈的内容。...popd的用法主要有如下几种: popd不带参数 popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。...~ $ popd ~ $ dirs -v 0 ~ $ popd +n 将目录栈中的第n个元素删除(这里的n就是命令dirs -v显示的目录index)。...2、pushd和popd的+n和-n 上面我们用的都是+n作为参数,实际在使用pushd和popd的时候,有时候也会用到-n参数。
其实,很早就知道pushd和popd在linux中可以用来方便地在多个目录之间切换。那时比较浮躁,感觉切换目录没必要这么复杂。在实际中,发现通过使用pushd和popd能够极大地提高效率。...和dirs pushd和popd是对一个目录栈进行操作,而dirs是显示目录栈的内容。...popd的用法主要有如下几种: popd不带参数 popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。...0 / 1 ~ $ popd ~ $ dirs -v 0 ~ $ popd +n 将目录栈中的第n个元素删除(这里的n就是命令dirs -v显示的目录index)。...2、pushd和popd的+n和-n 上面我们用的都是+n作为参数,实际在使用pushd和popd的时候,有时候也会用到-n参数。
其实,很早就知道pushd和popd在Linux中可以用来方便地在多个目录之间切换。那时比较浮躁,感觉切换目录没必要这么复杂。在实际中,发现通过使用pushd和popd能够极大地提高效率。...和dirs pushd和popd是对一个目录栈进行操作,而dirs是显示目录栈的内容。...popd的用法主要有如下几种: popd不带参数 popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。...v 0 / 1 ~ $ popd ~ $ dirs -v 0 ~ $ popd +n 将目录栈中的第n个元素删除(这里的n就是命令dirs -v显示的目录index)。...2、pushd和popd的+n和-n 上面我们用的都是+n作为参数,实际在使用pushd和popd的时候,有时候也会用到-n参数。
POPD 语法 popd 参数 /? 在命令提示符下显示帮助。 注释 每次使用 pushd 命令时,都存储一个目录供用户使用。...可以用 popd 命令将当前目录更改为由 pushd 命令最新存储的目录。如果使用 popd 命令,位于堆栈顶端的目录将从堆栈中删除,当前目录转变为栈顶目录。...如果再次使用 popd 命令,则删除堆栈中的下一个目录。 如果启用了命令扩展,pushd 命令将接收网络路径或本地驱动器盘符和路径。...如果与已启用的命令扩展一起使用 popd 命令,popd 命令将删除由 pushd 创建的驱动器盘符分配。...test目录,所以 PUSHD %~dp0test就是设定批处理所在的目录下的test目录为工作目录 3、例3 pushd 绝对路径(也就是你要调用的那个批处理程序的目录).. call xxx.bat popd
快来学习下 pushd popd 命令吧,让你切换目录更加的方便。...如果你需要从堆栈中删除一个目录,键入popd,然后是目录名称,再按回车键想查看堆栈中目录列表,键入dirs,然后按回车键popd和dirs命令也是常用函数中的一部分。 一,为何要使用这几个命令?...pushd、popd是我们的好帮手 说明: pushd、popd、dirs 这几个我们讲到的命令是bash内建的命令,所以只要登录到了bash,这几个命令就可以使用了。...用popd即可。...说明之二: popd 加有参数 +n时,n 是堆栈中的第n个目录,表示把堆栈中第n个目录从堆栈中删除。 四,多学一点知识 1,pushd和popd都可以只影响堆栈而不切换目录 用 -n 参数即可。
多个目录之间的切换 多个目录的切换要用到pushd,popd,dirs命令,下面是三个命令的解释: dirs:显示目录栈 pushd:将目录压入目录栈,并切换目录(虚拟堆栈) popd:将目录弹出目录栈...MyEclipse ~ ~/Hexo $ pwd /Users/***/MyEclipse # dirs -p是按行显示目录栈中的目录 $ dirs -p ~/MyEclipse ~ ~/Hexo # popd...是将栈顶的目录弹出,即编号为0的目录,并将目录切换到目录弹出后的栈顶目录 $ popd ~ ~/Hexo $ pwd /Users/*** $ popd ~/Hexo # 如果栈中只有一个目录,即当前目录...,是不能使用popd的 $ popd -bash: popd: directory stack empty # 如果栈中只有一个目录,是不能使用pushd的 $ pushd -bash: pushd:...+n 弹出目录栈中指定位置的目录,并将目录切换到栈顶目录 $ popd +2 ~/Practice ~/Hexo ~ $ dirs -v 0 ~/Practice 1 ~/Hexo 2
良许给大家介绍三个命令:pushd 、 popd 、 dirs 。...同理,如果你用后文介绍的 pushd 和 popd 来操作目录栈的话,当前目录将切换到目录栈的第一个元素对应地址。 如果我们要清空目录栈,直接使用 -c 选项即可。...每次 popd 命令执行完成之后,默认都会执行一个 dirs 命令来显示目录栈的内容。...popd 的用法主要有如下几种: 1. popd (不带任何参数) popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。这时,栈顶元素发生变化,自然当前目录也会发生相应的切换。...test ~/test/dir2 [alvin@VM_0_16_centos dir1]$ dirs -v 0 ~/test/dir1 1 ~/test 2 ~/test/dir2 2. popd
这时候可以采用这一对好基友 pushd 和 popd 来进行目录的切换,当然还需要加上dirs pushd命令可能将当前的目录压栈,并跳转到指定的目录 usage: [root@path1]# pushd...那么popd也很容易理解是什么意思了,既然pushd是压入地址的意思,那么popd就是pop dir的意思了,同样使用popd +N的方式可以将地址出栈,若是弹出当前目录则会返回OLDPWD,否则只是将存在目录栈中的值出栈而已...使用pushd和popd有的时候会比cd来的方便的多,但是我还喜欢用另外一种方式进行目录的切换,使用的linux命令是alias 这个命令的语法是:alias [-p][别名][=命令] 这个命令的非常有用
%\profilesBackup\MigrationBackup_%Node_Profile_Name%.zip" -nostop -profileName %Node_Profile_Name% popd...oldProfile %Dmgr_Profile_Name% -keepDmgrEnabled false -username %DmgrUser% -password %DmgrPassword% popd...incrementCurrent -keepDmgrEnabled true -username %DmgrUser% -password %DmgrPassword% -clone false popd...echo Clear jsp classes "%%i\WEB-INF\classes" del /F /S /Q "%%i\WEB-INF\classes\*" ) ) popd...echo Sync node call SyncNode.bat %DmgrHost% %DmgrPort% -username %DmgrUser% -password %DmgrPassword% popd
使用 pushd 和 popd 管理目录导航。 查找大型文件。 不使用编辑器创建临时文件。 使用 curl 命令行实用工具。 最有效地利用正则表达式。 确定当前用户。 使用 awk 处理数据。 1....使用 pushd 和 popd 管理目录导航 UNIX 支持各种目录导航工具,我最喜欢的两款提高工作效率的工具是 pushd 和 popd。您肯定知道 cd 命令用于更改当前目录。...pushd 和 popd 命令创建一个虚拟目录堆栈,pushd 命令用来更改您的当前目录并将其存储在堆栈中,而 popd 命令用来从堆栈的顶部移除目录并使您返回该位置。...List4:使用 pushd 和 popd 在目录树中导航 $ pushd . ~ ~ $ pushd /etc /etc ~ ~ $ pushd /var /var /etc ~ ~ $ pushd...$ popd /etc ~ ~ $ popd ~ ~ $ popd pushd 和 popd 命令还支持使用参数处理目录堆栈。
pushd&popd 在Linux的使用过程中,尤其是开发者,经常在2个目录或者多个目录之间来回切换,这个时候,用cd还是比较麻烦。pushd和popd可以帮我们缓解这种麻烦。...命令序列如下: baohua@ubuntu:~/lep/lepd$ pushd ~/Downloads/ ~/Downloads ~/lep/lepd baohua@ubuntu:~/Downloads$ popd
Linux 中的 pushd 和 popd 是什么?...Pushd 和 popd 是 bash 和某些其他 shell 中的 Linux 命令,它们将当前工作目录位置保存到内存中,并分别从内存中将目录作为当前工作目录以及更改目录。...一旦 popd 被触发,它就会从内存中获取保存的目录位置并使其成为当前工作目录。...rumenz@local:/var/www/html$ popd ~ rumenz@local:~$ 14. 切换到包含空格的目录。
配套的两个内置命令,一个是 pushd,更改当前目录时将目录添加到栈中,另一个是 popd 从栈顶删除目录,然后将当前目录更改为栈顶目录。dirs 用于显示目录栈的内容。当前目录始终是目录栈的顶部。...可以使用 popd 命令,删除目录栈栈顶目录,然后改变当前工作目录为栈顶目录。如我们将 ~/cpp/txt1 出栈,那么当前工作目录将变为 ~/cpp/txt0。...# popd ~/cpp/txt0 ~/cpp # pwd /root/cpp/txt0 (6)清空目录栈,只保留栈顶元素。
-1 fi } download_from_github "protobuf" "3.3.1" "9377e414994fa6165ecb58a41cca3b40" "google" "v" popd...DCMAKE_INSTALL_PREFIX=$INSTALL_FOLDER -Dprotobuf_BUILD_TESTS=off # 编译并安装protobuf到指定的文件夹 make install popd...rm -fr build.gcc popd 上面的脚本中在调用cmake生成Makefile时定义了protobuf_BUILD_TESTS=off,这是因为protobuf的CMakeLists.txt
/redis_cluster/7001/redis_7001.conf popd >/dev/null 2>&1 echo "--------------------本机安装redis4.0.11...install_redis() { pushd $src_dir >/dev/null 2>&1 unzip $redis_zip5 -d $redis_install_dir &>/dev/null popd.../create-cluster start echo "start redis success" popd >/dev/null 2>&1 } config_redis sleep
/bootstrap --prefix=$HOME/local make && make install popd # 设置一系列环境变量 echo " export PATH=$HOME/local...mkdir build pushd build cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="$HOME/local" .. popd...popd pushd bsdiff # 稍微修改下Makefile文件 sed -i -e 's/\-ldivsufsort64//g' Makefile sed -i -e "s#PREFIX =
2)pushd/popd 这个在脚本中非常好用,特别是在循环中 如下所示,假设你正在写一个进入退出文件夹的for循环: for d1 in $(ls -d */) do # Store original...original_wd="$(pwd)" cd "$d1" for d2 in $(ls -d */) do pushd "$d2" # Do something popd...in $(ls -d *) do pushd "$d1" for d2 in $(ls -d */) do pushd "$d2" # Do something popd...done popd done 它可以追踪记录你切换的目录并进行入栈或出栈 注意,当使用pushd出现错误时,可能会丢失栈的记录并且popd多次。
领取专属 10元无门槛券
手把手带您无忧上云