我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下怎么高效切换目录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下怎么高效切换目录

这篇文章主要介绍Linux下怎么高效切换目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

cd是Linux系统中使用最多的命令之一,其主要功能就是Linux 下对于目录的切换。

cd 命令确实很方便,但如果需要频繁在下面的目录切换,你可能要怀疑人生了:

/home/alvin/projects/blogdemos/linux-system-programming/thread/home/alvin/projects/blogdemos/diff/home/harry/study/日本文化/中日交流/影视业/动作片

如果只会 cd 命令的话,那么就需要不停地 cd ,直到你发疯。

在这种情况下,我们如何高效进行目录切换呢?良许给大家介绍三个命令:pushd 、 popd 、 dirs 。

这三个命令其实都是对 目录栈 进行操作,而 目录栈 就是一个保存目录的栈结构,该栈结构的顶端永远都存放着当前目录(敲黑板了,重点!!)。

有编程基础的同学都知道,栈 都是遵循着 后进先出 的原则。也就是说,在栈结构里,后面进栈的元素,将先出栈。

复习完基本概念,我们再来详细这三个命令。

显示目录栈内容:dirs

首先是 dirs 。这个命令很简单,就是显示目录栈的内容。它有以下三个常用选项:

选项含义
-p每行显示一条记录
-v每行显示一条记录,同时展示该记录在栈中的index
-c清空目录栈

其中,-p 与 -v 选项的区别是,-v 选项将显示每条记录在栈中的索引,除此之外完全一样。假如现在有一个目录栈,我们来看看它里面有啥内容:

 [alvin@VM_0_16_centos dir2]$ pwd /home/alvin/test/dir2 [alvin@VM_0_16_centos dir2]$ dirs -v  0 ~/test/dir2  1 ~/test/dir1  2 ~/test/dir3  3 ~/test

请注意,最顶部的元素永远跟当前目录一致,如果你在其它目录下查看目录栈,第一个元素将对应发生改变。同理,如果你用后文介绍的 pushd 和 popd 来操作目录栈的话,当前目录将切换到目录栈的第一个元素对应地址。

如果我们要清空目录栈,直接使用 -c 选项即可。

 [alvin@VM_0_16_centos diff]$ dirs -c [alvin@VM_0_16_centos diff]$ dirs -v  0 ~/projects/blogdemos/diff

压入目录栈:pushd

每次 pushd 命令执行完成之后,默认都会执行一个 dirs 命令来显示目录栈的内容。pushd 的用法主要有如下几种:

1. pushd + 目录

pushd 后面如果直接跟目录使用,会切换到该目录并且将该目录置于目录栈的栈顶。例子:

 [alvin@VM_0_16_centos test]$ pushd dir1 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir1]$ pushd ../dir2 ~/test/dir2 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir2]$ pushd ../dir3 ~/test/dir3 ~/test/dir2 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir3]$ dirs -v  0 ~/test/dir3  1 ~/test/dir2  2 ~/test/dir1  3 ~/test

2. pushd (不带任何参数)

pushd 不带任何参数执行的效果就是,将目录栈最顶层的两个目录进行交换。前面我们已经强调过,目录栈第一个元素与当前目录是相关的,所以第一个元素发生改变时,当前目录将对应切换,反之亦然。

 [alvin@VM_0_16_centos dir3]$ dirs -v  0 ~/test/dir3  1 ~/test/dir2  2 ~/test/dir1  3 ~/test [alvin@VM_0_16_centos dir3]$ pwd /home/alvin/test/dir3 [alvin@VM_0_16_centos dir3]$ pushd ~/test/dir2 ~/test/dir3 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir2]$ pwd /home/alvin/test/dir2   #对应目录发生改变 [alvin@VM_0_16_centos dir2]$ dirs -v  0 ~/test/dir2  1 ~/test/dir3      #索引 0 和 1 的内容对调  2 ~/test/dir1  3 ~/test

*3. pushd +/-n *

pushd +/-n 就是直接切换到对应索引值的目录。注意,这里既可以用加号,也可以用减号。如果是加号的话,将从目录栈由上往下数,而用减号的话,将从目录栈由下往上数。

接下来就回到了我们本文开头的问题,如果我们要在两个或多个路径很长的目录之间频繁切换,该如何操作?

首先,我们用 pushd + 目录 的方式将这几个路径添加到目录栈中;

然后,再用 pushd +/-n 在不同的目录间快速切换。具体演示如下:

 [alvin@VM_0_16_centos dir2]$ pwd /home/alvin/test/dir2 [alvin@VM_0_16_centos dir2]$ dirs -v  0 ~/test/dir2  1 ~/test/dir3  2 ~/test/dir1  3 ~/test [alvin@VM_0_16_centos dir2]$ pushd +2 ~/test/dir1 ~/test ~/test/dir2 ~/test/dir3 [alvin@VM_0_16_centos dir1]$ pwd /home/alvin/test/dir1 [alvin@VM_0_16_centos dir1]$ dirs -v  0 ~/test/dir1  1 ~/test  2 ~/test/dir2  3 ~/test/dir3

弹出目录栈:popd

每次 popd 命令执行完成之后,默认都会执行一个 dirs 命令来显示目录栈的内容。popd 的用法主要有如下几种:

1. popd (不带任何参数)

popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。这时,栈顶元素发生变化,自然当前目录也会发生相应的切换。

 [alvin@VM_0_16_centos dir3]$ dirs -v  0 ~/test/dir3  1 ~/test/dir1  2 ~/test  3 ~/test/dir2 [alvin@VM_0_16_centos dir3]$ popd ~/test/dir1 ~/test ~/test/dir2 [alvin@VM_0_16_centos dir1]$ dirs -v  0 ~/test/dir1  1 ~/test  2 ~/test/dir2

2. popd +/-n

将目录栈中的第n个元素删除。同样的,加减号表示从上往下数,还是从下往上数。

 [alvin@VM_0_16_centos dir1]$ dirs -v  0 ~/test/dir1  1 ~/test  2 ~/test/dir2 [alvin@VM_0_16_centos dir1]$ popd +1 ~/test/dir1 ~/test/dir2 [alvin@VM_0_16_centos dir1]$ dirs -v  0 ~/test/dir1  1 ~/test/dir2

以上是“Linux下怎么高效切换目录”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下怎么高效切换目录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux下怎么高效切换目录

这篇文章主要介绍Linux下怎么高效切换目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!cd是Linux系统中使用最多的命令之一,其主要功能就是Linux 下对于目录的切换。cd 命令确实很方便,但如果需要频繁在下
2023-06-28

Linux下如何高效切换目录

本篇内容介绍了“Linux下如何高效切换目录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux 下对于目录的切换,大家肯定会想到一个命
2023-06-15

Linux中怎么高效切换目录

这篇文章主要介绍“Linux中怎么高效切换目录”,在日常操作中,相信很多人在Linux中怎么高效切换目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中怎么高效切换目录”的疑惑有所帮助!接下来,请跟
2023-06-27

Linux下如何高效切换目录的方法

linux 下对于目录的切换,大家肯定会想到一个命令:cd 命令。这个是 Linux 下再基本不过的命令,如果这个命令都不知道的话,赶紧剖腹自尽去吧。 cd 命令确实很方便,但如果需要频繁在下面的目录切换,你可能要怀疑人生了:/home/a
2022-06-04

Linux下如何使用pushd和popd高效切换目录

这篇文章主要介绍了Linux下如何使用pushd和popd高效切换目录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。pushd和popd是对一个目录栈进行操作,而dirs是显
2023-06-27

Linux系统高效切换目录方法是什么

这篇文章的内容主要围绕Linux系统高效切换目录方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!大家都知道Linux系统中一切皆为文件,所以
2023-06-28

Linux系统高效切换目录的解决方案是怎样的

小编今天带大家了解Linux系统高效切换目录的解决方案是怎样的,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统高效切换目
2023-06-28

linux怎么切换当前用户的家目录

要切换当前用户的家目录,可以使用`cd`命令。在Linux中,每个用户都有自己的家目录,通常位于`/home`目录下,以用户名命名。要切换当前用户的家目录,可以按照以下步骤操作:1. 打开终端。2. 使用`cd`命令切换到当前用户的家目录。
2023-09-15

Linux下怎么切换用户

小编给大家分享一下Linux下怎么切换用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.切换用户的命令为:su username 【username是你的用户
2023-06-28

Linu怎么查看所在目录以及切换目录

本篇文章给大家分享的是有关Linu怎么查看所在目录以及切换目录,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。linux查看所在目录的命令对应英文:print work dire
2023-06-28

linux下怎么进入目录

这篇文章主要介绍了linux下怎么进入目录的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux下怎么进入目录文章都会有所收获,下面我们一起来看看吧。linux进入目录的命令是“cd”。cd命令用于切换工作目
2023-06-30

Linux下图形与字符界面怎么切换

本篇内容主要讲解“Linux下图形与字符界面怎么切换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下图形与字符界面怎么切换”吧!1. 图形界面切换到字符界面在图像界面下按[
2023-06-12

Linux下怎么获取目录大小

这篇文章将为大家详细讲解有关Linux下怎么获取目录大小,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用Linux时,我们可能需要获取特定目录的大小。 在GUI中,有文件管理器,如Dolphin,Gn
2023-06-28

Linux下怎么切换使用两个版本的JDK

我这里原来已经配置好过一个1.7版本的jdk。 输出命令:java -version [root@hu-hadoop1 sbin]# java -version java version "1.7.0_79" Java(TM) SE Run
2022-06-04

Linux内核进程上下文切换怎么理解

这篇文章主要讲解了“Linux内核进程上下文切换怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux内核进程上下文切换怎么理解”吧!1.进程上下文的概念进程上下文是进程执行活动全
2023-06-15

Linux下怎么删除目录软连接

这篇文章主要介绍“Linux下怎么删除目录软连接”,在日常操作中,相信很多人在Linux下怎么删除目录软连接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么删除目录软连接”的疑惑有所帮助!接下来
2023-06-28

Linux下怎么获取用户主目录

这篇文章主要介绍了Linux下怎么获取用户主目录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一
2023-06-13

linux下cp目录时怎么排除一个或者多个目录

本篇内容介绍了“linux下cp目录时怎么排除一个或者多个目录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明:/home目录里面有dat
2023-06-13

在 Linux 下怎么用 mkdir 命令来创建目录和子目录

这篇文章主要介绍在 Linux 下怎么用 mkdir 命令来创建目录和子目录,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mkdir 是什么呢Mkdir 是一个用来在 Linux 系统下创建目录的命令。此命令属于内建
2023-06-16

Linux下怎么定时删除目录文件

这篇文章主要介绍了Linux下怎么定时删除目录文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux下怎么定时删除目录文件文章都会有所收获,下面我们一起来看看吧。要实现定时删除某个目录下的所有文件需要用到
2023-06-27

编程热搜

目录