音序是什么意思,Linux下怎么高效切换目录?,月亮图片

点击▲重视 “CU技能社区”   给大众号标星置顶

更多精彩 第一时间直达

本文授权转自 | 良许 Linux

ID | li产组词angxuxiansheng



☞ 程序员进阶架构师必备资源免费送 ☜

Linux 下关于目录的切换,咱们肯定会想到一个指令:cd 指令。这天兆食府个是 Linux 下再根本不过的指令,假设这个指令都不知道的话,赶忙剖腹自杀去吧。

cd 指令的确很便利,但假设需求频频鄙人面的目录切换,你可能要置疑人生了:

/home/alvin/projects/blogdemos/linux-system-programm音序是什么意思,Linux下怎样高效切换目录?,月亮图片ing/thread
/home/alvin/project杨童舒豪宅被毁s/blogdemos/diff
/home/harry/study/日本文明/中日沟通/影视业/动作片

假设只会 cd 指令的话,那么就需求不停地 cd ,直到你发疯。

在这种情况下,咱们怎样高效进行目录切换呢?良许给咱们介绍三个指令:pushdpopddirs

这三个指令其实都是对 目录栈 频组词进行操作,而 目录栈 便是一个保存目录的栈结构,该栈结构的顶端永久都存放着当时目录(敲黑板了石田燿子,要点!!)。

有编程根底的同学都知道, 都是遵从着 后进先出 的准则。也便是说,在栈结构里,后边进栈的元素,将先出栈。

温习完根本概念音序是什么意思,Linux下怎样高效切换目录?,月亮图片,咱们再来详细这三个指令。

显现目录栈内容:dirs

首要是 dirs 。这个指令很简单,便是显现目录栈的内容。它有以下三个常用选项:

[alvin@VM_0_16_centos dir2]$ pwd其间,-p-v 选项的区别是,-v 选项将显现每条记录在栈中的索引,除此之外彻底相同。假设现在有一个目录栈,咱们来看看它里边有啥内容:

/home/alvin/test/dir2
[alvin@宝贵雄子文VM_0_16_centos dir2]$ dirs -v
 0  ~/test/dir2
 1  ~/test/dir1
 2  ~/test/dir3
 3  ~/test

请留意,最顶部的元素永久跟当时目录共同,假设你在其它目录下检查目录栈,第一个元素将对应发作改动。同理,假设你用后文介绍的 pushdpopd 来操作目录栈的话,当时目录将切换到目录栈的第一个元素对应地址。

假设咱们要清空目录栈,直接运用 -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
~/t音序是什么意思,Linux下怎样高效切换目录?,月亮图片est/dir3 ~/test/dir2 ~/test/dir1 ~/test
[alvin@VM_0_音序是什么意思,Linux下怎样高效切换目录?,月亮图片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@V包晓琳M_0_16_centos d乱乱ir3]$ pwd
/home/alvin/test/dir3
[alvin@VM_0_16_centos dir3]$ pushd
~/test/dir2 ~/test/dir3 ~/test/音序是什么意思,Linux下怎样高效切换目录?,月亮图片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
&nbs愈组词p;3  ~/test

3. pushd  +/-n 

pushd  +/-n 便是直接切换到对应索引值的目录。留意,这儿既可以用加号,也可以用减号。假设是加号的话,将从目录栈由上往下音序是什么意思,Linux下怎样高效切换目录?,月亮图片数,而用减号的话,将从目录栈由下往上数。

接下来就回到了咱们本文最初的问题,假设咱们要在两个或多个途径很长的目录之间频频切换,该怎样操作?

首要,我单色凌为什么不火了们用 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]$ p张嫣为什么称艳后wd
/home/alvin/test/陆老爹猪脚dir1
[alvin@VM_0_16_centos dir1]$ dirs -v
 0  ~/test/dir1
&性感照nbsp;1  ~/test
 2  ~/test/dir2
 3  ~/test/dir3

弹出目录栈:popd

每次 popd 指令履行完结之音序是什么意思,Linux下怎样高效切换目录?,月亮图片后,默许都会履行一个 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&n巫师3石化鸡蛇胃bsp;-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






点击 “阅览原文” 立享购票8.8折优惠~
点击展开全文

上一篇:

下一篇:

相关推荐