[url=及目錄快速切換[/url]
一、cd ~
切換到使用者目錄
二、cd -
cd - 返回進入當前目錄前所在目錄
三、pushd、popd、dirs
在linux的多目錄命令提示符中工作是一種痛苦的事情,但以下這些利用linux cd命令和pushd切換目錄的技巧有助於你節省時間和精力 。
用pushd實現在不同目錄間切換。
在命令列模式下,當你工作在不同目錄中,你將發現你有很多時間都浪費在重複輸入上。如果這些目錄不在同乙個根目錄中,你不得不在轉換時輸入完整的路徑名,這難免讓人有些難以忍受。但你可以用以下的乙個或兩個步驟來避免所有多餘的輸入:用命令列直譯器中的歷史記錄,或者用命令列函式pushd。
用命令列直譯器中的歷史記錄的好處是只需按很少的鍵。在命令列中用向上的箭頭來查詢你用過的命令,直到你找到,然後按回車鍵。如果你所切換的兩個目錄在整個驅動器的子目錄結構中很接近,那用直譯器中的歷史記錄可能是你最好的選擇。
然而,如果你在兩個截然不同的路徑間轉換的話,你可能很希望利用pushd這個函式,你可以用它建立乙個目錄堆疊(在記憶體中的乙個列表)。
這裡說一下怎麼用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命令也是常用函式中的一部分。
讓切換目錄更方便: pushd,popd,dirs,cd -
一,為何要使用這幾個命令?
可能大家會有疑問,為何要使用這幾個命令,
難道用cd不就可以切換目錄了嗎?
沒錯,使用cd就可以切換到需要訪問的目錄,
但是有時會是乙個路徑很長,層次很多的目錄,進到此目錄下後,這時我們不小心執行了 cd命令,
理所當然,我們回到了自己的home目錄,這時如果想回去怎麼辦?
還有:因為工作的需要,我們需要不停在幾個很深層的目錄之間切換,不止乙個,
那麼即使有tab鍵幫忙,我們也會因為乙個cd命令花費很多時間,如何在多個目錄之間切換時能更方便些
pushd,popd是我們的好幫手
說明: pushd,popd,dirs這幾個我們講到的命令是bash內建的命令,
所以只要登入到了bash,這幾個命令就可以使用了
二,如何在兩個目錄之間切換?
如果只是在兩個目錄之間切換,那麼還不必使用pushd,
這時只需使用 cd -就可以了
cd -的作用是可以回到前乙個目錄,
看例子:
# cd -
/root
# cd -
#怎麼樣?在兩個目錄之間切換非常方便,無需再輸入很長的路徑
說明:為何cd -能夠回到前乙個目錄?
這是因為 -在此處等同於 $oldpwd變數,
此問題可以參見bash的info資訊,
cd 一項有相關的說明: an argument of - is equivalent to $oldpwd.
$oldpwd變數就是bash所記錄的前乙個目錄
也就是說:$oldpwd和-相等
下面我們再看乙個例子:
# echo $oldpwd;
/root
# cd $oldpwd
# echo $oldpwd;
# cd $oldpwd;
# echo $oldpwd;
/root
我們可以得到結構: 用cd -和cd $oldpwd都可以在最近所操作的兩個目錄之間進行切換
三,如何在多個目錄之間切換?
因為 cd -和 cd $oldpwd都是只支援最近操作的兩個目錄,所以要在多個目錄之間操作時,
我們需要使用 pushd
1,先來介紹我們會用到的3條命令
pushd:切換到作為引數的目錄,並把原目錄和當前目錄壓入到乙個虛擬的堆疊中
如果不指定引數,則會回到前乙個目錄,並把堆疊中最近的兩個目錄作交換
popd: 彈出堆疊中最近的目錄
dirs: 列出當前堆疊中儲存的目錄列表
看例子:
# pushd /usr/local/sbin/
/usr/local/sbin ~
# dirs
/usr/local/sbin ~
# dirs -p -v
0 /usr/local/sbin
1 ~# dirs -p -v
1 /usr/local/sbin
2 ~說明: dirs的 -p引數可以每行乙個目錄的形式顯示堆疊中的目錄列表
-v引數可以在目錄前加上編號
注意:有 -v時,不新增 -p也可以每行乙個目錄的形式顯示
說明之二:我們可以看到:最近壓入堆疊的目錄位於最上面
2,如何在最近的兩個目錄之間切換?
在最近的兩個目錄之間切換:用pushd不加引數即可
# pushd /boot/grub/
# dirs -v
0 /boot/grub
2 /usr/local/sbin
3 ~# pushd
# dirs -v
1 /boot/grub
2 /usr/local/sbin
3 ~# pushd
# dirs -v
0 /boot/grub
2 /usr/local/sbin
3 ~說明:可以看到,用pushd不加引數在最近的兩個目錄之間切換時,
當前目錄總是位於堆疊的最上面
3,如何在多個目錄之間切換?
用 pushd +n即可
說明:n是乙個數字,有此引數時,是切換到堆疊中的第n個目錄,並把此目錄以堆疊迴圈的方式推到堆疊的頂部
需要注意: 堆疊從第0個開始數起
看例子:
# dirs -v
0 /boot/grub
2 /usr/local/sbin
3 ~# pushd +2
# dirs -v
0 /usr/local/sbin
1 ~2 /boot/grub
4,如何把目錄從堆疊中刪除?
用popd即可
看例子:
# dirs -v
0 /usr/local/sbin
1 ~2 /boot/grub
# popd
# dirs -v
0 ~1 /boot/grub
# popd +1
# dirs -v
0 ~說明:可以看到popd不加引數的運**況:
popd把堆疊頂端的目錄從堆疊中刪除,並切換於位於新的頂端的目錄
說明之二: popd 加有引數 +n時,
n是堆疊中的第n個目錄,表示把堆疊中第n個目錄從堆疊中刪除
四,多學一點知識
1,pushd和popd都可以只影響堆疊而不切換目錄
用 -n引數即可
看例子:
# dirs -v
0 ~# pushd -n /boot/grub
# dirs -v
0 ~1 /boot/grub
2, dirs可以清空目錄堆疊
用 -c引數即可
看例子:
# dirs -v
0 ~1 /boot/grub
# dirs -c
# dirs -v
0 ~說明: 位於堆疊頂部的目錄是當前目錄,它不能被pop出去的
cd及目錄快速切換
切換到使用者目錄 cd 返回進入當前目錄前所在目錄 在linux的多目錄命令 提示符中工作是一種痛苦的事情,但以下這些利用linux cd命令 和pushd切換目錄的技巧有助於你節省時間和精力 用pushd實現在不同目錄間切換。在命令列模式下,當你工作在不同目錄中,你將發現你有很多時間都浪費在重複輸...
cd及目錄快速切換
切換到使用者目錄 cd 返回進入當前目錄前所在目錄 在linux的多目錄命令提示符中工作是一種痛苦的事情,但以下這些利用linux cd命令 和pushd切換目錄的技巧有助於你節省時間和精力 用pushd實現在不同目錄間切換。在命令列模式下,當你工作在不同目錄中,你將發現你有很多時間都浪費在重複輸入...
cd切換目錄
cd的基本語法是 cd 選項 引數 選項 p,如果目錄是符號鏈結,則進入實際的目錄 l,如果目錄是符號鏈結,則進行鏈結目錄 單獨的 選項,進入到呼叫cd命令時的上一次的工作目錄,即oldpwd所代表的目錄。預設情況下,cd可以不有任何選項,此時將進入到使用者主目錄,即 home所代表的目錄。引數 指...