Linux命令:pushd, poped介紹

在linux下用過命令操作的人都知道,目錄切換用cd,在頻繁在兩個目錄切換可以用 cd -

cd -爲什麼能返回到上一次目錄?

- 在此處等同於 $OLDPWD,保存了bash所記錄的前一個目錄,cd - 和cd $OLDPWD效果一樣

 

$:cd work/

~/work$:cd -

$:

$:cd -

~/work$:

這樣只能在兩個目錄中切換,那如果需要再多個目錄中切換怎麼辦?一直cd cd cd麼,

這個時候pushd、popd是個好選擇 

pushd:把某目錄壓入棧保存並切換到該目錄(方法和程序的出入棧一樣)

popd:出棧,刪掉該最近的目錄

dirs:列出當前堆棧保存的目錄列表

 

看個例子一目瞭然

hancan@hancan-virtual-machine:~$ pushd test/dir1/
~/test/dir1 ~
hancan@hancan-virtual-machine:~/test/dir1$ dirs -v
 0  ~/test/dir1
 1  ~
hancan@hancan-virtual-machine:~/test/dir1$ pushd /etc/
/etc ~/test/dir1 ~
hancan@hancan-virtual-machine:/etc$ dirs -v
 0  /etc
 1  ~/test/dir1
 2  ~
hancan@hancan-virtual-machine:/etc$ pushd ~/Music/
~/Music /etc ~/test/dir1 ~
hancan@hancan-virtual-machine:~/Music$ dirs -v
 0  ~/Music
 1  /etc
 2  ~/test/dir1
 3  ~
hancan@hancan-virtual-machine:~/Music$ pushd +2       //切換到第2個目錄,即dir1
~/test/dir1 ~ ~/Music /etc
hancan@hancan-virtual-machine:~/test/dir1$ dirs -v
 0  ~/test/dir1
 1  ~
 2  ~/Music
 3  /etc
hancan@hancan-virtual-machine:~/test/dir1$ popd +3  //彈出第3個目錄
~/test/dir1 ~ ~/Music
hancan@hancan-virtual-machine:~/test/dir1$ dirs -v
 0  ~/test/dir1
 1  ~
 2  ~/Music

hancan@hancan-virtual-machine:~/test/dir1$ popd   //不加參數則彈出最近的目錄
~ ~/Music

dirs -c 也可以清空目錄堆棧 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章