如何在Shell中快速切换目录?
来源:互联网 发布:君子知怕行文思路 编辑:程序博客网 时间:2024/05/05 01:30
经常在shell下工作的筒子们经常会在不同的目录来回切换,那么,如何能提高切换的效率呢?不用每次手动输入cd /path/to/dir1; cd /path/to/dir2?
在只有两个目录的情况下,有个很简单也很直观的办法:
$ cd - #表示回到之前的目录
多说一句,这个-还有其他的一个典型用法:如果文件名参数是一个单破折号"-",表示从标准输入读取文件列表:
$ grep 'abc' - #表示接受标准输入的数据,并从中找到包含'abc'字符串的行,打印出来
abdse #我在键盘的输入
abc
abc #grep的输出
lsl
[CTRL-C] #按ctrl+c结束输入
两个目录尚且可以用上述方法快速切换,那么对于多个目录呢?pushd,dirs和popd这一组强大而易用的命令现在可以上场了.
对于CS毕业的人来说,栈是很熟悉的了,这一组命令实际上也是维护了一个目录栈.
pushd /path/to/dir,顾名思义,表示将指定目录入栈,另外,它还具有一个更强大的附加功能:像将栈内的元素顺序随意调整(似乎有些违背栈的原理了:),
正是这个功能让我们可以随心所欲的切换目录,而无视目录在栈中的位置.这种用法可以描述为pushd +num 后面我将详细介绍.
popd /path/to/dir,表示将指定的目录出栈,当我们不需要访问某个目录时,就是用这个命令将其清理出'门户'.与pushd对应,popd也有另一种形式的命令:popd +num.
dirs,显示当前栈的内容,从左向右分别是栈顶->栈底.
应用示例:
$ cd
~$ dirs #显示当前目录栈
#---------------------------------
#我们先加几个目录玩玩
#---------------------------------
~$ pushd ~/A #将指定目录入栈
~/A ~
~/A$ pushd ~/B #继续入栈, 注意此时的当前目录已经切换到刚刚入栈的目录,即:~/A
~/B ~/A ~ #当前栈的内容从左往右:栈顶->栈底
~/B$ pushd ~/C #最后一个了,大家坚持住
~/C ~/B ~/A ~
#---------------------------------
#现在我们试试切换目录
#---------------------------------
~/C$dirs #打印当前栈的内容
~/C ~/B ~/A ~
~/C$ pushd #切换到B目录,pushd 意思隐含为pushd +1
~/B ~/C ~/A #切换过去的同时会打印出切换后的栈情形.
~/B$ #注意当B到栈顶后,剩余元素位置按其之前栈内顺序排列
~/B$ pushd +2 #切换到栈顶+2个目录即A目录
~/A ~/B ~/C
~/A$
#---------------------------------
#有不用的目录,将其扔出
#---------------------------------
~/A$ popd +1 #将~/B目录出栈
~/A ~/C
~/A$ #此时目录不会切换
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-02/32401.htm
- 如何在shell中快速切换目录?
- 如何在shell中快速切换目录?
- 如何在Shell中快速切换目录?
- Shell中快速切换多个目录
- 如何在Linux系统中快速切换目录(目录栈的使用) pushd popd dirs
- 在命令行快速切换目录
- shell脚本 如何切换当前目录
- 在shell脚本里切换目录
- Alfred 在命令行快速切换目录
- shell脚本中cd无法切换目录
- shell 中目录切换、逻辑判断
- 如何在word正文中快速回到目录
- shell技巧之快速切换目录z命令
- Shell中快速跳转到特定目录
- 初学Java时,如何在CMD中快速进入编译目录目录
- 电脑中如何在cmd中正确使用cd命令切换文件目录
- 电脑中如何在cmd中正确使用cd命令切换文件目录
- Linux快速目录切换
- JAVA多线程问题分析定位--线程堆栈
- extern "C"的用法解析
- [Ubuntu, ThinkPad E420] Wifi 不能联网问题
- 科学计数法和有效数字
- 相见恨晚之gstreamer 核心源码source创建和识别typefind原理浅析(一)
- 如何在Shell中快速切换目录?
- 使用按位与运算来以二进制显示值
- JQuery文档分析2--JQuery核心与属性操作
- C/C++面试题精选
- MFC中Format函数
- _WIN64移植
- IPHONE应用开发 - xib关联到appdelegate
- jquery中的window.onload的实现
- PreparedStatement与statement的区别