在Linux上使用pushd的一些尝试

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的时候,遇到了奇怪的问题,当我在/root/test folder下创建了tmp1,tmp2,tmp3 三个文件夹 drwx-----T 5 root root 4096 2 ...

  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. 什么是CNN?写给小白的机器学习入门贴,Facebook员工打造,47k访问量
  2. NLP之ASR:语音识别技术(Automatic Speech Recognition)的简介、发展历史、案例应用之详细攻略
  3. 组件面板 html 页面,Html - Bootstrap Panel面板
  4. 视频前初步认识UML
  5. 服务端如何识别是selenium在访问以及解决方案参考一
  6. java多态和继承_Java学习--继承与多态
  7. wp insert post 插入文章到数据库
  8. WebView的使用之Android与JS通过WebView互调方法
  9. linux work 账户管理,Homework Week-3 用户管理
  10. c语言 桌面下雪程序,[Lazarus]使用Lazarus编写的桌面下雪小程序
  11. python将时间戳转换成北京时间、标准格式
  12. no matching cipher found
  13. 小程序之botton默认带边框的问题
  14. c语言---16 关于goto语句
  15. 红米4a android p,一图彻底看懂红米4/红米4A
  16. dbc批量插入、批量删除、批量更新
  17. 高斯消元——解线性方程组+球形空间产生器+开关问题
  18. 弘玑Cyclone完成近4000万美元B轮融资,全面加速RPA平台建设
  19. 小学奥数思维训练题(十二)
  20. 如何一步一步提高图像分类准确率?

热门文章

  1. 春意盎然 酷我音乐无损音质抢先来袭
  2. android 热点被连接电脑,有病毒的android手机或电脑连了我的android手机的热点,我的android手机的热点又给了另外的苹果手机用,那我�...
  3. 【第四周:数据可视化】7周成为数据分析师
  4. 2-1 古埃及探秘-金字塔
  5. 希捷 sshd 微型计算机,7mm混合换装再战 希捷第三代SSHD首测
  6. Linux下的DHCP服务部署
  7. API接口为什么重要
  8. Android Studio之APP国际化
  9. 基于监督学习和远程监督的神经关系抽取
  10. 嗯哼是个nlper酱--LDA学习笔记