只要玩過linux的命令行,切換個目錄那簡直是小菜一碟,直接cd命令就搞定了,但是除了簡單的cd命令,還有許多其他的命令,能夠令你的操作更加方便快捷。
假設一種情況,一個文件A存放在了第十層目錄ten中,經過千辛萬苦好不容易進入了ten,結果一不小心敲入了一個cd命令,看著光標在根目錄下閃爍,是不是很無奈呢?難道要再千辛萬苦的敲一堆路徑重新進到ten目錄?
不必這麼麻煩,輸入“cd -”,看看是不是回到剛才的路徑呢?
注:“cd -”能完成當前目錄和之前所在的目錄之間的切換
另外一個方便路徑切換的命令就是pushd,可以完成多個不同路徑之間的切換.
如果我希望在/usr和/etc/ssh和/etc/rc.d和當前路徑之間切換,則可以在命令行下輸入:
pushd /usr
/usr ~
pushd /etc/ssh
/etc/ssh /usr ~
pushd /etc/rc.d
/etc/rc.d /etc/ssh /usr ~
pushd會自動把當前路徑加入到可切換路徑中。執行dirs,可以看到顯示四個路徑:
dirs
/etc/rc.d /etc/ssh /usr ~
輸入pushd,既可以在前兩個路徑之間相互切換。
如果想切換到最後一個(棧底)路徑時 pushd +2即可。
pushd
/etc/ssh /etc/rc.d /usr ~
pushd
/etc/rc.d /etc/ssh /usr ~
pushd +2
/usr ~ /etc/rc.d /etc/ssh
如果想清空這些路徑,執行dirs -c即可。
dirs -c
dirs
/usr
如果你需要從堆棧中刪除一個目錄,鍵入popd,然後是目錄名稱,再按回車鍵
在Linux的多目錄命令提示符中工作是一種痛苦的事情,但以下這些利用cd和pushd切換目錄的技巧有助於你節省時間和精力 。
在Linux命令提示中,用cd命令來改變當前目錄。這是cd命令的一些基本用法:
改變你的根路徑,鍵入cd,按回車鍵。
進入一個子目錄,鍵入cd,空格,然後是子路徑名(例如:cd Documents),再按回車鍵。
進入當前目錄的上一級目錄,鍵入cd,空格,兩個點,然後按回車鍵。
進入一個特定的目錄,鍵入cd,空格,路徑名(例如 cd /usr/local/lib),再按回車鍵。
為了確定你所在的目錄,你可以鍵入pwd,按回車鍵,你將看到你所在的當前目錄名稱。
用pushd實現在不同目錄間切換。
在命令行模式下,當你工作在不同目錄中,你將發現你有很多時間都浪費在重復輸入上。如果這些目錄不在同一個根目錄中,你不得不在轉換時輸入完整的路徑名,這難免讓人有些難以忍受。但你可以用以下的一個或兩個步驟來避免所有多余的輸入:用命令行解釋器中的歷史記錄,或者用命令行函數pushd。
用命令行解釋器中的歷史記錄的好處是只需按很少的鍵。在命令行中用向上的箭頭來查找你用過的命令,直到你找到,然後按回車鍵。如果你所切換的兩個目錄在整個驅動器的子目錄結構中很接近,那用解釋器中的歷史記錄可能是你最好的選擇。
然而,如果你在兩個截然不同的路徑間轉換的話,你可能很希望利用pushd這個函數,你可以用它創建一個目錄堆棧(在內存中的一個列表)。
注釋:缺省情況下,pushd函數可能不包括在你的Linux中;但它包涵在Red Hat和用Red Hat驅動的系統中。如果你的系統中沒有pushd函數,你可以在ibiblio.org網站上下載相關的函數工具。
這裡說一下怎麼用pushd。假設你現在工作在/usr/share/fonts目錄下。你需要對/usr/share/fonts做一些改動,你將頻繁的在兩個目錄間切換。開始在一個目錄下,用pushd函數切換到另一個目錄。在我們的例子中,開始在/usr/share/fonts下,你鍵入pushd/opt/wonderword/fonts,然後按回車鍵。現在,你將在下一行看到堆棧中的內容:
/opt/wonderword/fonts /usr/share/fonts
正如你所看到的,當你鍵入pushd和一個路徑名時,將自動產生一個堆棧,內容是你鍵入的目錄名和你當前工作的目錄名。在我們的例子中,你所鍵入的路徑(/opt/wonderword/fonts)在堆棧的頂部。
快速返回上一級目錄,你可以直接鍵入pushd,如果不跟路徑名,你將返回到堆棧中前一個目錄的上一層目錄。
如果你需要從堆棧中刪除一個目錄,鍵入popd,然後是目錄名稱,再按回車鍵。想查看堆棧中目錄列表,鍵入dirs,然後按回車鍵。popd和dirs命令也是常用函數中的一部分。