Linux上使用pushd的时候,遇到了奇怪的问题,当我在/root/test folder下创建了tmp1,tmp2,tmp3 三个文件夹

drwx-----T 5 root root 4096 2011-08-11 05:09 ./

drwx------ 8 root root 4096 2011-08-10 05:21 ../

drwxr-xr-x 2 root root 4096 2011-08-11 05:09 tmp1/

drwxr-xr-x 2 root root 4096 2011-08-10 05:09 tmp2/

drwxr-xr-x 2 root root 4096 2011-08-10 05:09 tmp3/

然后执行在test folder下执行pushd,如下:

root@computer:~/test# pushd ./tmp1

~/test/tmp1 ~/test ~/test

root@computer:~/test/tmp1# dirs -v

0 ~/test/tmp1

1 ~/test

2 ~/test

此时我们是在tmp1目录下,执行cd ..回到上一级目录,再进行dirs查询:

root@computer:~/test/tmp1# cd ..

root@computer:~/test# dirs -v

0 ~/test

1 ~/test

2 ~/test

root@computer:~/test#

诡异的一幕出现了,栈中原来的目录没有了,全部换成了~/test。至今不明白为什么会这样。

但是当我使用以下面的方式使用pushd的时候则没有此问题

root@computer:~/test/tmp1# dirs

~/test/tmp1

root@computer:~/test/tmp1# pushd .

~/test/tmp1 ~/test/tmp1

root@computer:~/test/tmp1# cd ..

root@computer:~/test# cd tmp2

root@computer:~/test/tmp2# pushd .

~/test/tmp2 ~/test/tmp2 ~/test/tmp1

root@computer:~/test/tmp2# cd ..

root@computer:~/test# dirs -v

0 ~/test

1 ~/test/tmp2

2 ~/test/tmp1

或者我们可以使用-n参数,如下:

root@computer:~/test# dirs

~/test

root@computer:~/test# pushd -n ./tmp1

~/test ./tmp1

root@computer:~/test# pushd -n ./tmp2

~/test ./tmp2 ./tmp1

root@computer:~/test# pushd -n ./tmp3

~/test ./tmp3 ./tmp2 ./tmp1

root@computer:~/test# dirs -v

0 ~/test

1 ./tmp3

2 ./tmp2

3 ./tmp1

在这里,-n参数只将其后的参数即目录压入到栈中,但是并不切换目录,当前目录始终是test目录。

linux pushd 不起作用,在Linux上使用pushd的一些尝试相关推荐

  1. linux pushd 不起作用,在Linux上运用pushd的一些尝试

    在Linux上使用pushd的一些尝试 Linux上使用pushd的时候,遇到了奇怪的问题,当我在/root/test folder下创建了tmp1,tmp2,tmp3 三个文件夹 drwx----- ...

  2. linux中profile文件作用,解析Linux系统中bashrc和profile文件的作用区别

    使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理. ...

  3. linux内核 猪头 作用,漫谈Linux内核哈希表(1)

    关于哈希表,在内核里设计两个很重要的数据结构:哈希链表节点: 点击(此处)折叠或打开 /*Kernel Version:3.4.x[include/linux/types.h]*/ struct hl ...

  4. Linux进程top命令作用是,linux top命令详解

    top 命令主要用于查看进程的相关信息,同时它也会提供系统平均负载,cpu 信息和内存信息.下面的截图展示了 top 命令默认提供的信息: 系统平均负载 top 命令输出中的第一行是系统的平均负载,这 ...

  5. linux中ftok的作用,Unix/Linux编程之ftok函数用法

    linux 中ftok函数的用法 1.函数作用: 系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到 2.函数原型: #include #incl ...

  6. Linux进程top命令作用是,Linux中top命令起什么作用呢?

    摘要: 下文讲述Linux中top的功能说明,如下所示: top命令功能: 用于实时显示系统中各进行对各种个资源的占用情况 top命令的语法格式: top [参数] -----常用参数说明------ ...

  7. linux高级编程有作用吗,Linux 高级编程

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 版权声明:本文为 DLonng 原创文章,可以随意转载,但必须在明确位置注明出处! 信号量 semaphore 信号量( ...

  8. Linux中mv的作用是,linux中的mv命令的详细解释

    linxu下的mv命令是一个常用命令,可以为文件或者目录重命名,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的mv命令的详细解释的相关知识,希望对大家有帮助! 一.linu ...

  9. linux pushd 不起作用,Linux中的pushd和popd

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

最新文章

  1. 非递归一次性加载分类数据到TreeViw
  2. Octave matlab中运行.m文件方式对比
  3. Qt:opencv编译
  4. 3DSlicer25:Report an Error
  5. Git使用技巧(3)-- 远程操作
  6. convirt2.5在虚拟机上安装笔记
  7. 提交页面插入到数据库2.jsp
  8. 思品课如何使用计算机教学课件,小学思品获奖论文巧用多媒体,优化思品课堂教学...
  9. Python数据分析实战:使用pyecharts进行数据可视化
  10. 常遇问题及一些可能的解决方案
  11. 数据库即时搜索_加速数据库恢复; 即时回滚和数据库恢复
  12. 数据绑定如何在AngularJS中运行?
  13. ad中那个快捷键是重复上一部_PPT中十大快捷键
  14. 微信小程序简单爱心点赞动画
  15. 元旦用SpringBoot撸了个博客网站送给大家
  16. uni-app时间格式转换
  17. [bzoj2668]交换棋子
  18. 解决方案:No space left on device
  19. 一个前端的三维可视化开发心路历程
  20. python爬虫 google翻译 js加解密

热门文章

  1. Android自定义View高级动效---粒子动效实现|音乐播放器粒子动效|实现酷我网易云粒子动效
  2. 入门教程之Mac上使用CLion搭建OpenCV开发环境
  3. 解决联想拯救者r9000p于ubuntu20.04没有WIFI的问题
  4. mac数据恢复工具-easyrecovery15forMac轻松帮你恢复
  5. OZON的FBP发货模式是什么?OZON新手注意事项有哪些?
  6. JAVA中的JeeSite框架基本简介
  7. @JsonFormat的用法
  8. html怎样判断是不是数字,javascript如何判断值是否是数字?
  9. 鑫磊股份开启申购:资产负债率较高,实控人控制企业借款高企
  10. 腾讯“微视”,还没活就被“美拍”拍死了?