目錄當行是指令行系統的基礎概念.雖然不是什麼難以了解的東西,但是知道一些技巧能夠豐富你的經驗并且提高工作效率.在這篇文章中,我們會讨論這些小技巧。
<a target="_blank"></a>
在開始進階技巧之前,有一些必須知道的基本指令:
‘pwd’顯示目前目錄
‘cd’ 改變目前目錄
‘cd’ 跟兩個點(cd ..)能傳回父目錄
‘cd’ 跟着相對目錄就能直接切換當相對目錄下
‘cd’ 跟着絕對目錄就能切換到絕對目錄下
這節将介紹幾個技巧友善你進行目錄的切換
雖然使用‘cd /home/<你的主目錄>’, 不是什麼大麻煩, 但是有一種方法直接打‘cd’ 就能回到你的主目錄.
例子:
$ pwd
/usr/include/netipx
$ cd
/home/himanshu
是以無論你在哪個目錄下,都能這麼幹,然後回到home目錄。
注意- 如果要切換到某個其它的指定使用者的目錄下, 就使用 ‘cd ~user_name'
假設你的目前工作目錄是這樣的:
/home/himanshu/practice
如果你想切換到 /usr/bin/x11, 然後又想回到之前的目錄。 你會怎麼做? 最直接的 :
$ cd /usr/bin/x11
$ cd /home/himanshu/practice/
雖然這樣行得通,但是要記住這些複雜的目錄就太笨了。這種情況下使用 ‘cd -’ 指令就行.
使用 ‘cd -’的第一步和上面的例子是一樣的, 你可以 cd 到你想要切換到的<路徑>下,但是回到之前的目錄用 ‘cd -’就可以。
$ cd -
如果你想再次回到剛剛通路的目錄(在這個例子中是/usr/bin/x11),再使用'cd -'就可以。但是這個指令隻會記住上一次通路的目錄,這是一個缺點。

如果你對'cd -'非常了解了的話,你會發現這個指令隻能幫助你在兩個目錄之間移動,但是很多場景下需要在很多目錄之間切換。比如你要從a切換到b再到c然後又想回到a。
一般來說,你需要打出a的完整路徑,但是如果這個路徑非常複雜,将是非常煩人的一件事,特别是在你的切換非常頻繁的話。
一些場景下可以使用 ‘pushd’ 還有 ‘popd’ 指令。 ‘pushd’ 将一個目錄存到記憶體中,‘popd’ 将目錄從記憶體中去除,并且轉換到那個目錄下。
例如:
$ pushd .
/usr/include/netipx /usr/include/netipx
$ cd /etc/hp/
$ cd /media/
$ popd
使用‘pushd’ 指令存儲目前的工作目錄 (用 .表示), 然後切換到各種各樣的目錄去。為了傳回之前的目錄,隻要使用 ‘popd’指令就行了。
(lctt譯注:顯然,pushd和popd 是堆棧式操作,你可以push多個目錄,然後逐一pop出來,自己試試吧。)
注意- 你也可以使用不帶參數的 ‘pushd’ 來切換到之前存儲的目錄, 但是不會像 ‘popd’ 一樣去除這個目錄。
原文釋出時間:2014-07-18
本文來自雲栖合作夥伴“linux中國”