1 問題
我們有時候需要保存多個路徑,上下鍵切換不方便,用cd-只能到上個目錄,我們可以用dirs和pushd和popd
2 dirs、pushd、popd
- dirs: 這個命令顯示棧里面所有的路徑,一定會包含當前路徑,常用參數如下
- dirs -v 顯示棧里面的所有路徑和下標,通過下標,我們可以用pushd +下標到這個目錄,然后popd+下標把這個路徑在棧里面彈出來,
- dirs -c 清除棧里所有路徑,但是當前路徑不會刪除
- pushd:我們可以添加目錄到棧(dirs)里面,比如添加當前目錄pushd . 然后如果需要到棧里面具體哪個路徑的話我們可以pushd +下標,如果是-下標的話,我們是從棧底算起
- popd:我們可以彈出棧的最上面的一個路徑,我們也可以popd +n彈出棧里面指定的具體路徑,如果是-下標的話,我們是從棧底算起
3 使用過程
比如我們在當前目錄下新建立4個文件夾dir1、dir2、dir3、dir4
我們cd到dir1里面去,然后把當前路徑再添加進去pushd .
我們cd到dir2里面去,然后把當前路徑再添加進去pushd .
我們cd到dir3里面去,然后把當前路徑再添加進去pushd .
我們cd到dir4里面去,然后把當前路徑再添加進去pushd .
我們再查看dirs -v
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir4
~/Desktop/linux/dabian/shell/cat/push/dir2
~/Desktop/linux/dabian/shell/cat/push/dir1
很明顯當前目錄是dir3,比如我們現在要去dir2,我們直接執行pushd +3 再執行dirs -v看下
~/Desktop/linux/dabian/shell/cat/push/dir2
~/Desktop/linux/dabian/shell/cat/push/dir1
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir4
很明顯我們可以看到當前目錄是dir2
比如我們執行下popd,彈出最頂層的那個,目錄會切換到最dir1,我們再看下dirs -v
~/Desktop/linux/dabian/shell/cat/push/dir1
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir4
然后我們刪除dir4看下,popd +4,然后我們再dirs -v看下
~/Desktop/linux/dabian/shell/cat/push/dir1
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir3
很明顯當前目錄在dir1,我們切換到dir3里面去,pushd +2 然后dirs -v看下
~/Desktop/linux/dabian/shell/cat/push/dir3
~/Desktop/linux/dabian/shell/cat/push/dir1
~/Desktop/linux/dabian/shell/cat/push/dir3
可以看到到了dir3這個目錄了,我們再清除所有的棧里面的路徑dirs -c,然后我們再dirs看下
~/Desktop/linux/dabian/shell/cat/push/dir3
在當前目錄了,沒毛病。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
您可能感興趣的文章:- Shell中exit和return的區別講解
- 在Shell腳本中調用另一個腳本的三種方式講解
- 使用shell腳本來給mysql加索引的方法
- 干掉一堆mysql數據庫,僅需這樣一個shell腳本(推薦)
- linux shell之通過標識測試文件系統屬性的方法示例
- linux shell中if的各種判斷
- linux shell之控制臺打印各種顏色字體和背景的實現方法
- shell腳本實現監控某個進程意外停止后拉起進程
- 使用shell腳本每天對MySQL多個數據庫自動備份的講解
- 使用shell來發tcp包的方法