選項(xiàng) | 含義 |
---|---|
-p | 每行顯示一條記錄 |
-v | 每行顯示一條記錄,同時(shí)展示該記錄在棧中的index |
-c | 清空目錄棧 |
其中,-p
與 -v
選項(xiàng)的區(qū)別是,-v
選項(xiàng)將顯示每條記錄在棧中的索引,除此之外完全一樣。假如現(xiàn)在有一個(gè)目錄棧,我們來看看它里面有啥內(nèi)容:
[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
請注意,最頂部的元素永遠(yuǎn)跟當(dāng)前目錄一致,如果你在其它目錄下查看目錄棧,第一個(gè)元素將對應(yīng)發(fā)生改變。同理,如果你用后文介紹的 pushd
和 popd
來操作目錄棧的話,當(dāng)前目錄將切換到目錄棧的第一個(gè)元素對應(yīng)地址。
如果我們要清空目錄棧,直接使用 -c
選項(xiàng)即可。
[alvin@VM_0_16_centos diff]$ dirs -c [alvin@VM_0_16_centos diff]$ dirs -v 0 ~/projects/blogdemos/diff
壓入目錄棧:pushd
每次 pushd 命令執(zhí)行完成之后,默認(rèn)都會執(zhí)行一個(gè) dirs 命令來顯示目錄棧的內(nèi)容。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 (不帶任何參數(shù))
pushd 不帶任何參數(shù)執(zhí)行的效果就是,將目錄棧最頂層的兩個(gè)目錄進(jìn)行交換。前面我們已經(jīng)強(qiáng)調(diào)過,目錄棧第一個(gè)元素與當(dāng)前目錄是相關(guān)的,所以第一個(gè)元素發(fā)生改變時(shí),當(dāng)前目錄將對應(yīng)切換,反之亦然。
[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 #對應(yīng)目錄發(fā)生改變 [alvin@VM_0_16_centos dir2]$ dirs -v 0 ~/test/dir2 1 ~/test/dir3 #索引 0 和 1 的內(nèi)容對調(diào) 2 ~/test/dir1 3 ~/test
**3. pushd +/-n **
pushd +/-n 就是直接切換到對應(yīng)索引值的目錄。注意,這里既可以用加號,也可以用減號。如果是加號的話,將從目錄棧由上往下數(shù),而用減號的話,將從目錄棧由下往上數(shù)。
接下來就回到了我們本文開頭的問題,如果我們要在兩個(gè)或多個(gè)路徑很長的目錄之間頻繁切換,該如何操作?
首先,我們用 pushd + 目錄 的方式將這幾個(gè)路徑添加到目錄棧中;
然后,再用 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 命令執(zhí)行完成之后,默認(rèn)都會執(zhí)行一個(gè) dirs 命令來顯示目錄棧的內(nèi)容。popd 的用法主要有如下幾種:
1. popd (不帶任何參數(shù))
popd不帶任何參數(shù)執(zhí)行的效果,就是將目錄棧中的棧頂元素出棧。這時(shí),棧頂元素發(fā)生變化,自然當(dāng)前目錄也會發(fā)生相應(yīng)的切換。
[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個(gè)元素刪除。同樣的,加減號表示從上往下數(shù),還是從下往上數(shù)。
[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
到此這篇關(guān)于Linux下如何高效切換目錄的方法的文章就介紹到這了,更多相關(guān)Linux高效切換目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:畢節(jié) 晉中 南寧 云南 巴中 佛山 衡水 安陽
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下如何高效切換目錄的方法》,本文關(guān)鍵詞 Linux,下,如何,高效,切換,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。