在Linux命令行下,我们经常需要在一个目录下执行某些操作在跳转到另外的目录下,也就是使用我们熟悉的cd命令,基本上接触过命令行的人,第一个认识的命令都是cd,了解cd命令会对我们工作效率有个提高,但是你真的了解它吗?

一、cd命令

格式:

cd [选项] [参数]

我们常用的就是cd后面直接加参数,也就是目录。 单其实参数和选项一样都是可选的。

cd ~ 和 cd (不加任何参数)都能直接切换到用户的主目录下面。

cd常用的选项只有-P

cd -P dir  如果dir是一个链接目录,则会跳转到dir指向的原目录。

常用技巧:

1.我们可以配置CDPATH环境变量

export CDPATH=.:~/dvp:~/workspace

这样的话cd不仅在当前目录搜索,也会在~/dvp和~/workspace目录下搜索。如果不配置 .(当前目录),系统会自动添加到CDPAHT 的结尾,也就是说如果当前目录和~/dvp都有这个文件夹,会优先进入~/dvp目录下的文件夹。

2.cd -

切换到上次所在目录

二、pushd和popd命令

cd 命令的局限在于,如果需要在多个固定的文件夹之间来回跳转,cd命令就显得费事起来。两个文件夹之间可以用cd -,但是超过两个,我们就可以用pushd和popd命令。

pushd就是将一个目录压入一个栈,popd是将一个目录弹出栈。我可以跳转到栈中的任意一个路径,这对那些长路径很有意义。下面介绍它们的用法:

1.pushd

pushd语法格式:

pushd [-n] [dir]

pushd [-N|+N]

-n是固定选项,N代表数字。如果开启-n选项,则表示将目录压入栈,但不跳转。

如果没有输入dir,则默认将当前目录压入栈顶。

pushd +N 表示跳转栈中第N个路径,且将此路径压入到栈顶(从左往右,从0开始)

pushd -N 表示跳转到第N个路径,且将次路基压入到栈顶 (从右往左,从0开始)

可以看到pushd 和pushd +1 是等价的。

其实 pushd -n +N|-N 也是可以的,在我的电脑上会将但前目录压入栈,然后将第+N或-N个目录删除。

2.popd

popd语法格式:

popd [-n] [+N|-N]

值得一提的是,popd 不加任何选项参数会将栈顶元素弹出,然后跳转到新的栈顶元素目录。

-n 选项同pushd,将栈中元素弹出,但不跳转目录。

3.dirs

dirs是查看目录栈中的元素,此命令主要是结合上面两个命令使用。如果压入栈中元素过多,记不准确时可以使用,格式如下:

dirs [-clpv] [+N] [-N]

-c:删除目录栈中所有的记录

-l:以完整格式显示

-p:一个目录一行的方式显示

-v:每一行目录来显示目录栈的内容,每个目录前加上编号

如果不加上+N或-N则会将栈中所有元素打印出来。

如何在linux系统中快速切换目录(目录栈的使用),如何在Linux下环境下快速切换工作目录...相关推荐

  1. unix/linux系统中文件分为哪些类型?,到底该如何理解 Unix/Linux 的文件系统?看这篇就知道了...

    原标题:到底该如何理解 Unix/Linux 的文件系统?看这篇就知道了 作者:舠

  2. linux系统中用户账户信息保存在,【填空题】Linux系统中,除密码外的用户账户信息保存在 配置文件中...

    参考答案如下 填空题非竞争性拮抗药 正当防卫中的不法侵害已经开始,系统信息下列说法中错误的是( ) 患者,中除账户配置文男性,中除账户配置文47岁.连日来在炼钢炉旁工作,虽感疲乏,但仍坚持操作.今日上 ...

  3. Linux系统中一些目录和文件的详细解释(参照RHEL5.4)

    linux有四种基本文件系统类型: –普通文件:如文本文件.c语言源代码.shell脚本等,可以用cat.less.more.vi等来察看内容,用mv来改名: –目录文件:包括文件名.子目录名及其指针 ...

  4. linux qq无法登录服务器,如何在Linux系统中使用QQ

    目前,使用windows系统的用户占多数,很多人还是比较习惯使用windows系统,我们都知道,使用windows系统可以轻松的使用聊天工具进行聊天,那么在Linux系统下要怎么使用qq等聊天工具聊天 ...

  5. 实例讲解Linux系统中硬链接与软链接的创建

    导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...

  6. 组群的基本概念linux,linux课件-Linux系统中组群与用户管理.ppt

    <linux课件-Linux系统中组群与用户管理.ppt>由会员分享,可在线阅读,更多相关<linux课件-Linux系统中组群与用户管理.ppt(66页珍藏版)>请在装配图网 ...

  7. linux数据库什么意思,Linux系统中的数据库命令是什么

    Linux系统中难免会跟数据库打交道的时候,掌握数据库相关命令是很重要的.下面由学习啦小编为大家整理了Linux系统中数据库命令是什么的相关知识,希望对大家有帮助! Linux系统中的数据库命令是什么 ...

  8. Linux系统中磁盘创建管理(一)

    Linux系统中磁盘创建管理(一) 在linux系统中安装lvm必要的服务 install lvm-common lvm2 evms Linux系统中有一张分区表,系统在开机之后根据这个表里面的记录来 ...

  9. linux中600是什么权限,linux系统中文件的权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...

  10. Linux系统中磁盘分区及磁盘分区命名

    linux系统中的硬盘设备如何命名? linux系统中的硬盘设备都会以"/dev/sd"开头,linux系统中最多可以有多块硬盘,(最多支持多少块?),采用a~p来代表16块硬盘. ...

最新文章

  1. java操作xml文件--修改节点
  2. 操作系统原理第六章:进程同步
  3. 关于获取网络流,根据网络流转byte[],本地文件流转byte[],方法记录
  4. SkGradientShader::CreateLinear 的参数。
  5. 数字图像处理(一)2
  6. Oracle11gR2_ADG管理之恢复主库的truncate表实战
  7. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例...
  8. matlab逻辑电路图,基于.matlab的数字逻辑电路仿真.doc
  9. boost::bind 与 boost::function 的使用方法例子
  10. PickerView的简单介绍
  11. 论文文献综述的题目是什么样的,应该怎么写?
  12. Python如何判断某天是星期几
  13. jmeter性能测试步骤入门
  14. 行车安全的基础是技术和经验
  15. Linux物理内存较少导致OOM问题分析
  16. mysql表date类型长度_mysql中数据类型的长度解释
  17. java日志体系分析
  18. Javascript迭代、递推、穷举、递归常用算法实例讲解
  19. 汉克时代 签2份合同_在动荡的时代找到一份工作
  20. Active Perl的PPM的repository添加

热门文章

  1. 改造:Ueditor编辑器插入外链视频支持手机播放和上传本地音乐
  2. 根据计算机配置设置bios,BIOS设置图解教程
  3. 战舰世界换服务器改什么文件,战舰世界国服更新账号继承并合区,直营服已更新092...
  4. 使用feed,欢迎使用http://feed.feedsky.com/xu_fan_blog订阅
  5. select添加提示语
  6. 【AI视野·今日CV 计算机视觉论文速览 第228期】Tue, 29 Jun 2021
  7. 软考-嵌入式系统设计师-笔记:嵌入式系统的项目开发与维护
  8. [AcWing] 1017. 怪盗基德的滑翔翼(C++实现)最长上升子序列模型
  9. 关于IE中出现的内存不能为written问题的解决方法
  10. 用 C#.NET 编写的一个完整字谜游戏