【转载】dirs、pushd、popd指令
轉載自:http://hi.baidu.com/linuxtrip/item/47a38c8eec00e98f4414cfb7
?
一、目錄棧指令
目錄棧是用戶最近訪問過的系統(tǒng)目錄列表,并以堆棧的形式管理。棧中的內容與Shell環(huán)境變量DIRSTACK的值對應
1、dirs
1)功能
顯示當前目錄棧中的所有記錄(不帶參數(shù)的dirs命令顯示當前目錄棧中的記錄)
2)語法
(1)格式:dirs? [-clpv]? [+n]? [-n]
(2)選項
-c ?? 刪除目錄棧中的所有記錄
-l???? 以完整格式顯示
-p??? 一個目錄一行的方式顯示
-v??? 每行一個目錄來顯示目錄棧的內容,每個目錄前加上的編號
+N? 顯示從左到右的第n個目錄,數(shù)字從0開始
-N?? 顯示從右到左的第n個日錄,數(shù)字從0開始
注意:dirs始終顯示當然目錄, 再是堆棧中的內容;即使目錄堆棧為空, dirs命令仍然只顯示當然目錄
2、pushd
1)功能
pushd命令常用于將目錄加入到棧中,加入記錄到目錄棧頂部,并切換到該目錄;若pushd命令不加任何參數(shù),則會將位于記錄棧最上面的2個目錄對換位置
2)語法
(1)格式:pushd? [目錄 | -N | +N]?? [-n]
(2)選項
目錄?? 將該目錄加入到棧頂,并執(zhí)行"cd 目錄",切換到該目錄
+N?? 將第N個目錄移至棧頂(從左邊數(shù)起,數(shù)字從0開始)
-N??? 將第N個目錄移至棧頂(從右邊數(shù)起,數(shù)字從0開始)
-n??? 將目錄入棧時,不切換目錄
3、popd
1)功能
popd用于刪除目錄棧中的記錄;如果popd命令不加任何參數(shù),則會先刪除目錄棧最上面的記錄,然后切換到刪除過后的目錄棧中的最上面的目錄
2)語法
(1)格式:pushd? [-N | +N]?? [-n]
(2)選項
+N?? 將第N個目錄刪除(從左邊數(shù)起,數(shù)字從0開始)
-N??? 將第N個目錄刪除(從右邊數(shù)起,數(shù)字從0開始)
-n??? 將目錄出棧時,不切換目錄
二、 相關實例
實例一:入棧與出棧
root@Mylinux:~# mkdir /tmp/dir{1,2,3,4}
root@Mylinux:~# for ((i=1;i<=4;i++))
> do
>?? pushd /tmp/dir${i}
> done
/tmp/dir1 ~
/tmp/dir2 /tmp/dir1 ~
/tmp/dir3 /tmp/dir2 /tmp/dir1 ~
/tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1 ~
root@Mylinux:/tmp/dir4# dirs
/tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1 ~
root@Mylinux:/tmp/dir4# popd(相當于popd +0)
/tmp/dir3 /tmp/dir2 /tmp/dir1 ~
root@Mylinux:/tmp/dir3# pushd /tmp/dir4
/tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1 ~
root@Mylinux:/tmp/dir4# popd +1
/tmp/dir4 /tmp/dir2 /tmp/dir1 ~
root@Mylinux:/tmp/dir4# popd -2
/tmp/dir4 /tmp/dir1 ~
root@Mylinux:/tmp/dir4# pushd /tmp/dir3
/tmp/dir3 /tmp/dir4 /tmp/dir1 ~
root@Mylinux:/tmp/dir3# pushd /tmp/dir2
/tmp/dir2 /tmp/dir3 /tmp/dir4 /tmp/dir1 ~
root@Mylinux:/tmp/dir2# pushd -1
/tmp/dir1 ~ /tmp/dir2 /tmp/dir3 /tmp/dir4
注意:最左邊表示棧頂,最右邊表示棧底
實例二:清空棧
root@Mylinux:~# dirs
~ /tmp/dir2 /tmp/dir3 /tmp/dir4 /tmp/dir1
root@Mylinux:~# dirs -c
root@Mylinux:~# dirs
~
實例三:列表形式顯示的棧的內容
root@Mylinux:/tmp/dir4# dirs -l -v
0? /tmp/dir4
1? /tmp/dir3
2? /tmp/dir2
3? /tmp/dir1
4? /root
總結
以上是生活随笔為你收集整理的【转载】dirs、pushd、popd指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android json解析及简单例子
- 下一篇: (转)iOS 各种控件默认高度(图示)