最近在做Linux嵌入式系統(tǒng)的大作業(yè),經(jīng)常需要切換Linux系統(tǒng)中目錄,實(shí)在太麻煩,之前是靠打開(kāi)多個(gè)終端來(lái)解決,但這樣又會(huì)顯得窗口太多很亂,除非放在不同的工作區(qū)但又覺(jué)得沒(méi)有必要。今天看書(shū)發(fā)現(xiàn)解決這個(gè)問(wèn)題其實(shí)很容易,只需要使用Linux的目錄棧就行了,操作的指令也只有兩個(gè),一個(gè)是pushd,一個(gè)是popd,非常好用。
這里就不多解釋什么是棧了,而目錄棧就相當(dāng)于把用戶正在使用的目錄列表存放起來(lái),而且具有棧的先入后出的特性。
閑話少說(shuō),具體看看如何用目錄棧來(lái)簡(jiǎn)化的我們操作。
假設(shè)我們需要經(jīng)常在三個(gè)目錄下切換,分別是:~/src, /opt/test , /etc。注:代字符~是用戶主目錄的名字。
另外假設(shè)我們是剛打開(kāi)終端,初始位置在:~
平常我們用cd進(jìn)入一個(gè)目錄,這個(gè)時(shí)候就不要這么用,請(qǐng)用pushd,假設(shè)我們要進(jìn)目錄(如果存在的話):~/src,那么:
simon@simon-A8Sc:~$ pushd ~/src/
~/src ~
simon@simon-A8Sc:~/src$
可以看到終端先回顯出了目錄棧的最新內(nèi)容,此時(shí)有兩個(gè):~/src和~。最左邊相當(dāng)于目錄棧的頂部,最右邊相當(dāng)與目錄棧的底部。同時(shí),重要的是,當(dāng)前目錄切換到了: ~/src。
再切換到需要另外用的一個(gè)目錄 /opt/test
simon@simon-A8Sc:~/src$ pushd /opt/test
/opt/test ~/src ~
simon@simon-A8Sc:/opt/test$
可以看到棧頂部多出了目錄/opt/test,而且當(dāng)前目錄也切換到了/opt/test。
為了方便說(shuō)明,再次壓入第三個(gè)目錄/etc
simon@simon-A8Sc:/opt/test$ pushd /etc/
/etc /opt/test ~/src ~
simon@simon-A8Sc:/etc$
情況1. 如何在這三個(gè)目錄快速切換呢?假設(shè)目錄?,F(xiàn)就是現(xiàn)在這樣,我們要回到/opt/test,可以使用無(wú)參數(shù)的命令pushd,它表示切換目錄棧最上面的兩個(gè)目錄:
simon@simon-A8Sc:/etc$ pushd
/opt/test /etc ~/src ~
simon@simon-A8Sc:/opt/test$
情況2. 但如果想從/etc直接切換到 ~/src呢?此時(shí)可以使用帶參數(shù)的命令pushd,
simon@simon-A8Sc:/etc$ pushd +2
~/src ~ /etc /opt/test
simon@simon-A8Sc:~/src$
參數(shù)+2中的2指編號(hào),編號(hào)從棧頂開(kāi)始算起,頂部為0。具體棧里面的目錄順序是怎么變的?可以看作是循環(huán)移了兩位。
如何查看目錄棧?
使用命令dirs
如何將目錄從棧中彈出?
使用命令popd。
無(wú)參數(shù)時(shí),將棧頂目錄彈出,同時(shí)當(dāng)前目錄會(huì)變成最新的棧頂目錄。
有參數(shù)時(shí),如$ popd +2,則是將編號(hào)為2的目錄彈出。不會(huì)改變當(dāng)前目錄。
聯(lián)系客服