Linux命令:用“dirs”、“pushd”、“popd”來操作目錄棧


你可以將目錄壓入目錄棧,也可以稍后將該目錄彈出。在隨后的示例中,將會用到以下三個命令:

* dirs:顯示目錄棧

* pushd:將目錄壓入目錄棧

* popd:將目錄彈出目錄棧

dirs命令顯示當前所在目錄及目錄棧中的內容。即使目錄棧為空,dirs也會顯示當前所在的目錄,示例如下:

1
2
3
4
5
6
# popd
-bash: popd: directory stack empty
# dirs
~
# pwd
/home/ramesh

如何使用pushd和popd呢?讓我們先創建一些臨時的目錄然后把他們壓入目錄堆棧中去。

1
2
3
4
5
6
# mkdir /tmp/dir1
# mkdir /tmp/dir2
# mkdir /tmp/dir3
# mkdir /tmp/dir4
# cd /tmp/dir1
# pushd .
1
2
3
4
5
6
7
8
9
# cd /tmp/dir2
# pushd .
# cd /tmp/dir3
# pushd .
# cd /tmp/dir4
# pushd .
# dirs
/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
[注:顯示的第一個目錄名總會是當前所在的目錄,而不是顯式壓入堆棧里的內容]

此時,目錄堆棧就包含以下內容:

1
2
3
4
/tmp/dir4
/tmp/dir3
/tmp/dir2
/tmp/dir1

最后被壓入的目錄會在堆棧的頂端。當你執行“popd”,系統就會跳轉到棧頂的目錄中,並且從堆棧中把它清除掉。正如上面所展示的,最后壓入堆棧的是/tmp/dir4,所以當進行一次popd時,就會跳轉到/tmp/dir4目錄下同時從堆棧中將它移除。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# popd
# pwd
/tmp/dir4
[注:執行完上popd命令之后,目錄棧包括以下目錄
/tmp/dir3
/tmp/dir2
/tmp/dir1]
# popd
# pwd
/tmp/dir3
[注:執行完上popd命令之后,目錄棧包括以下目錄
/tmp/dir2
/tmp/dir1]
# popd
# pwd
/tmp/dir2
[注:執行完上popd命令之后,目錄棧包括以下目錄 /tmp/dir1]
# popd
# pwd
/tmp/dir1
[注:執行完上popd命令之后,目錄棧包括以下目錄]
# popd
-bash: popd: directory stack empty

用“dirs”、“pushd”、“popd”來操作目錄棧就介紹到這里。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM