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