http://www.cnblogs.com/davidwang456/p/3784102.html
http://blog.csdn.net/yucan1001/article/details/8455757
http://blog.163.com/yangfan876@126/blog/static/806124562013720104712282/
1、dirs
1)功能
顯示目前的目錄棧中的所有記錄(不帶參數的dirs命令顯示目前的目錄棧中的記錄)
2)文法
(1)格式:dirs [-clpv] [+n] [-n]
(2)選項
-c 刪除目錄棧中的所有記錄
-l 以完整格式顯示
-p 一個目錄一行的方式顯示
-v 每行一個目錄來顯示目錄棧的內容,每個目錄前加上的編號
+N 顯示從左至右的第n個目錄,數字從0開始
-N 顯示從右至左的第n個日錄,數字從0開始
注意:dirs始終顯示當然目錄, 再是堆棧中的內容;即使目錄堆棧為空白, dirs命令仍然只顯示當然目錄
2、pushd
1)功能
pushd命令常用於將目錄加入到棧中,加入記錄到目錄棧頂部,並切換到該目錄;若pushd命令不加任何參數,則會將位於記錄棧最上面的2個目錄對換位置
2)文法
(1)格式:pushd [目錄 | -N | +N] [-n]
(2)選項
目錄 將該目錄加入到棧頂,並執行"cd 目錄",切換到該目錄
+N 將第N個目錄移至棧頂(從左邊數起,數字從0開始)
-N 將第N個目錄移至棧頂(從右邊數起,數字從0開始)
-n 將目錄入棧時,不切換目錄
3、popd
1)功能
popd用於刪除目錄棧中的記錄;如果popd命令不加任何參數,則會先刪除目錄棧最上面的記錄,然後切換到刪除過後的目錄棧中的最上面的目錄
2)文法
(1)格式:popd [-N | +N] [-n]
(2)選項
+N 將第N個目錄刪除(從左邊數起,數字從0開始)
-N 將第N個目錄刪除(從右邊數起,數字從0開始)
-n 將目錄出棧時,不切換目錄
Bourne Again和TC Shell都允許使用者將其正在使用的目錄列表存放起來,這樣就可以在這些目錄之間輕易移動。這個目錄列表稱為棧。它類比了餐廳所用的盤子:一般將盤子放到棧的頂部或者從棧的頂部取盤子,這就建立了一個先入後出(FILO)的棧。
1. dirs:顯示棧
內建命令dirs顯示目錄棧的內容。如果當目錄棧是空的時候調用dirs,它將顯示工作目錄的名字。
內建命令dirs使用代字元~表示使用者主目錄的名字。下面幾節中的樣本均假設使用者使用圖8-2中給出的目錄結構。
2. pushd:將目錄壓入棧中
使用內建命令pushd(push directory,將目錄推到棧頂)可以改變目錄,同時添加一個新的目錄到棧頂。除改變目錄之外,內建命令pushd還將顯示棧的內容。圖8-3闡明了下面的樣本。
$ pushd ../demo~/demo ~/literature$ pwd/home/sam/demo$ pushd ../names~/names ~/demo ~/literature$ pwd/home/sam/names |
當不帶參數使用pushd時,pushd交換棧頂最上面的兩個目錄,並將新的棧頂目錄(即原來的次棧頂目錄)作為新的工作目錄(如圖8-4所示):
$ pushd~/demo ~/names ~/literature$ pwd/home/sam/demo |
這樣使用pushd,就可以輕易地在兩個目錄之間來回移動。不管是否顯式地建立目錄棧,都可以使用cd– 切換到前一個目錄。為了訪問目錄棧中的其他目錄,可以在調用pushd時,帶上一個以加號開頭的數字作為參數。棧中目錄的編號從棧頂開始算起,棧頂目錄的編號是0。下面的pushd命令繼續前一個樣本,將工作目錄改變到literature,並將literature移動到棧頂。
$ pushd +2 ~/literature ~/demo ~/names$ pwd/home/sam/literature |
3. popd:將目錄從棧中彈出
使用內建命令popd(pop directory,彈出目錄)可將目錄從棧中移出。不帶參數的popd將棧頂目錄從棧中移出,並將工作目錄改變到這個新的棧頂目錄。下面的樣本和圖8-5給出了這種情況。
$ dirs~/literature ~/demo ~/names$ popd~/demo ~/names$ pwd/home/sam/demo |
為了移出除棧頂之外的其他目錄,可以使用一個以加號開頭的數字作為參數傳遞給popd。下面的樣本將目錄編號1(即demo)移出:
$ dirs~/literature ~/demo ~/names$ popd +1~/literature ~/names |
移出標號不為0的目錄並不會改變工作目錄。
話說shell中還有這樣的命令,以前還真麼有用過....pushd和popd。首先這兩個命令是shell內建命令,pushd作用是建立一個目錄棧,並將指定的目錄加入棧頂,對應的popd就是彈出棧頂目錄。pushd有幾個參數,+n (加n)-n(減n)這個是將棧旋轉,n是數字,也就是說將整個目錄棧旋轉幾個數字....貌似描述的不明確,看看下面的例子:
[yangfan@dhcp-13-42 /]$ pushd /home/yangfan/test~/test / ~ ~/kernel /home[yangfan@dhcp-13-42 test]$ pushd -2~ ~/kernel /home ~/test /[yangfan@dhcp-13-42 ~]$ pushd +2/home ~/test / ~ ~/kernel