pushd popd 類似於麵包屑

2021-06-15 00:50:01 字數 3205 閱讀 1940

讓切換目錄更方便: pushd,popd,dirs,cd -

一,為何要使用這幾個命令?

可能大家會有疑問,為何要使用這幾個命令,

難道用cd不就可以切換目錄了嗎?

沒錯,使用cd就可以切換到需要訪問的目錄,

但是有時會是乙個路徑很長,層次很多的目錄,進到此目錄下後,這時我們不小心執行了 cd命令,

理所當然,我們回到了自己的home目錄,這時如果想回去怎麼辦?

還有:因為工作的需要,我們需要不停在幾個很深層的目錄之間切換,不止乙個,

那麼即使有tab鍵幫忙,我們也會因為乙個cd命令花費很多時間,如何在多個目錄之間切換時能更方便些

pushd,popd是我們的好幫手

說明:  pushd,popd,dirs這幾個我們講到的命令是bash內建的命令,

所以只要登入到了bash,這幾個命令就可以使用了

二,如何在兩個目錄之間切換?

如果只是在兩個目錄之間切換,那麼還不必使用pushd,

這時只需使用 cd -就可以了

cd -的作用是可以回到前乙個目錄,

看例子:

/root

[root@localhost ~]# cd -

$oldpwd變數就是bash所記錄的前乙個目錄

也就是說:$oldpwd和-相等

我們可以得到結構:  用cd -和cd $oldpwd都可以在最近所操作的兩個目錄之間進行切換

三,如何在多個目錄之間切換?

因為 cd -和 cd $oldpwd都是只支援最近操作的兩個目錄,所以要在多個目錄之間操作時,

我們需要使用 pushd

1, 先來介紹我們會用到的3條命令

pushd:切換到作為引數的目錄,並把原目錄和當前目錄壓入到乙個虛擬的堆疊中

如果不指定引數,則會回到前乙個目錄,並把堆疊中最近的兩個目錄作交換

popd: 彈出堆疊中最近的目錄

dirs: 列出當前堆疊中儲存的目錄列表

看例子:

[root@localhost ~]# pushd /usr/local/sbin/

/usr/local/sbin ~

[root@localhost sbin]# dirs

/usr/local/sbin ~

[root@localhost sbin]# dirs -p -v

0  /usr/local/sbin

1  /usr/local/sbin

2  ~

說明: dirs的 -p引數可以每行乙個目錄的形式顯示堆疊中的目錄列表

-v引數可以在目錄前加上編號

注意:有 -v時,不新增 -p也可以每行乙個目錄的形式顯示

說明之二:我們可以看到:最近壓入堆疊的目錄位於最上面

2,如何在最近的兩個目錄之間切換?

在最近的兩個目錄之間切換:用pushd不加引數即可

[root@localhost kget]# pushd /boot/grub/

[root@localhost grub]# dirs -v

0  /boot/grub

2  /usr/local/sbin

3  ~

[root@localhost grub]# pushd

[root@localhost kget]# dirs -v

1  /boot/grub

2  /usr/local/sbin

3  ~

[root@localhost kget]# pushd

[root@localhost grub]# dirs -v

0  /boot/grub

2  /usr/local/sbin

3  ~

說明:可以看到,用pushd不加引數在最近的兩個目錄之間切換時,

當前目錄總是位於堆疊的最上面

3,如何在多個目錄之間切換?

用 pushd +n即可

說明:n是乙個數字,有此引數時,是切換到堆疊中的第n個目錄,並把此目錄以堆疊迴圈的方式推到堆疊的頂部

需要注意: 堆疊從第0個開始數起

看例子:

[root@localhost grub]# dirs -v

0  /boot/grub

2  /usr/local/sbin

3  ~

[root@localhost grub]# pushd +2

[root@localhost sbin]# dirs -v

0  /usr/local/sbin

1  ~

2  /boot/grub

4,如何把目錄從堆疊中刪除?

用popd即可

看例子:

[root@localhost sbin]# dirs -v

0  /usr/local/sbin

1  ~

2  /boot/grub

[root@localhost sbin]# popd

[root@localhost ~]# dirs -v

0  ~

1  /boot/grub

[root@localhost ~]# popd +1

[root@localhost ~]# dirs -v

0  ~

說明:可以看到popd不加引數的運**況:

popd把堆疊頂端的目錄從堆疊中刪除,並切換於位於新的頂端的目錄

說明之二: popd 加有引數 +n時,

n是堆疊中的第n個目錄,表示把堆疊中第n個目錄從堆疊中刪除

四,多學一點知識

1,pushd和popd都可以只影響堆疊而不切換目錄

用 -n引數即可

看例子:

[root@localhost ~]# dirs -v

0  ~

[root@localhost ~]# pushd -n /boot/grub

[root@localhost ~]# dirs -v

0  ~

1  /boot/grub

2, dirs可以清空目錄堆疊

用 -c引數即可

看例子:

[root@localhost ~]# dirs -v

0  ~

1  /boot/grub

[root@localhost ~]# dirs -c

[root@localhost ~]# dirs -v

0  ~

說明:  位於堆疊頂部的目錄是當前目錄,它不能被pop出去的

麵包屑導航

麵包屑是一種常見的導航工具,通常出現在網頁內容的上方。麵包屑小巧,簡單,有時候甚至很難引起人們的注意,但就是這麼乙個簡單的小東西,卻有十分重要的作用。今天我們就教大家來認識麵包屑。麵包屑的概念來自於童話故事 漢賽爾和格萊特 當漢賽爾和格萊特穿過森林時,不小心迷路了,但他們發現在沿途走過的地方都撒下了...

Bootstrap 麵包屑導航

十一月小例子效果如下 jsp頁面 查詢 重置資源名稱 資源提供方 資源型別 資源使用方 應用系統 申請時間 操作 資源名稱 資源提供方 資源型別 資源使用方 應用系統 申請時間 操作 js function else if count 1 table list datatable fndestroy...

vue element ui麵包屑導航

1 公共元件layout中引入麵包屑導航元件,具體位置根據自己需要設定,麵包屑導航利用element ui中的,可事先了解 breadcrumb for item in levellist key item.path handlelink item a el breadcrumb item tran...