一、pushdpopd基礎概念
$ pushd [-n] [-q] [dir]
$ popd [-n] [+n | -n]
$ dirs [-clpv]
pushd和popd是Linux中的兩個命令,在日常終端操作中經常用到。它們的功能是用於快速地切換目錄,方便命令行使用者快速地在系統內移動。
在Linux終端中,如果需要經常在不同的目錄之間切換,使用cd命令一個一個地輸入路徑顯然很麻煩,這時候我們就可以使用pushd、popd來實現目錄切換的快速跳轉。
二、使用pushd和popd快速跳轉目錄
1、pushd命令用法:
$ pushd [-n] [-q] [dir]
該命令可以將指定的目錄壓入目錄堆棧,達到快速跳轉的目的。與之對應的命令為popd,用於彈出目錄堆棧中最上方的目錄,達到快速回到之前所在的目錄的效果。
下面我們結合實例來了解pushd、popd的用法。假設我們現在在/home/user1目錄下,希望快速跳轉到/home/user2目錄下,並查看當前目錄。
$ pwd
/home/user1
$ pushd /home/user2
~/user2 ~
$ pwd
/home/user2
$ popd
~/user1 ~
$ pwd
/home/user1
首先我們在user1目錄下,在終端輸入pushd /home/user2命令,系統會快速跳轉到user2目錄下,並顯示出當前目錄。接著我們通過popd命令將之前的目錄user1彈出目錄棧,達到快速回到user1目錄的效果。最後再次查看當前目錄,終端顯示我們已經回到了user1目錄下。
2、pushd和popd參數說明:
- -n:不執行cd操作。默認情況下,pushd命令將當前目錄壓入堆棧並執行cd命令切換到指定目錄,使用-n參數可以避免cd操作。
- -q:安靜模式。該參數設置後,將不會列印目錄堆棧信息。
- +n:指定彈出目錄堆棧中從棧底開始的第幾個目錄。
- -n:指定彈出目錄堆棧中從棧頂開始的第幾個目錄,這裡的n必須為正整數。
三、dirs命令查看目錄堆棧
$ dirs [-clpv]
dirs命令用於查看目錄堆棧的內容。默認情況下,dirs命令將會顯示所有在目錄堆棧中的目錄,用空格分割每個目錄。目錄堆棧是以數字編號形式存儲的,當前目錄堆棧中最新的目錄被編號為0,向上遞增。
下面我們來結合實例使用dirs命令查看目錄堆棧的內容。
$ pushd /home/user1
~/user1 ~
$ pushd /usr/local
/usr/local ~/user1 ~
$ dirs
/usr/local ~/user1 ~
在這個例子中,我們在user1目錄下執行pushd /usr/local命令,接著執行差價dirs命令來查看目錄堆棧的內容。dirs命令依次輸出了棧底(/usr/local)到棧頂(~)的目錄信息。
dirs的參數說明:
- -c:清空目錄堆棧。
- -l:使用詳細格式化輸出結果。
- -p:輸出堆棧中的絕對路徑。
- -v:顯示完整的目錄名稱,包含目錄許可權以及軟鏈接等信息。
四、使用示例:利用pushd、popd命令快速切換目錄
1、創建測試目錄
$ mkdir -p ExampleDir/FirstDir/SubDirA
$ mkdir -p ExampleDir/FirstDir/SubDirB
$ mkdir -p ExampleDir/SecondDir/SubDirA
$ mkdir -p ExampleDir/SecondDir/SubDirB
在/home/user目錄下創建ExampleDir目錄,並在其下創建四個子目錄FirstDir/SubDirA、FirstDir/SubDirB、SecondDir/SubDirA和SecondDir/SubDirB。
2、使用pushd、popd命令切換目錄
$ pushd ExampleDir/FirstDir/SubDirA
~/ExampleDir/FirstDir/SubDirA ~/
$ pushd ../../SecondDir/SubDirB
~/ExampleDir/SecondDir/SubDirB ~/ExampleDir/FirstDir/SubDirA ~/
$ cd .. && dirs -c
$
在這個例子中,我們首先執行pushd ExampleDir/FirstDir/SubDirA命令,終端提示我們目錄已經切換到了~/ExampleDir/FirstDir/SubDirA,此時我們執行dirs命令查看目錄堆棧,可以看到僅有一個元素。
接著我們執行pushd ../../SecondDir/SubDirB,目錄又快速切換到了~/ExampleDir/SecondDir/SubDirB,dirs命令查看目錄堆棧可以看到兩個元素,分別是~/ExampleDir/SecondDir/SubDirB和~/ExampleDir/FirstDir/SubDirA。
最後我們使用cd ..回到父目錄,並用dirs -c清空目錄堆棧,最後dirs命令查看目錄堆棧結果為空。
五、總結
通過本篇文章的闡述,我們深入了解了pushdpopd命令的定義和基本用法,也學會了使用dirs命令查看目錄堆棧的內容。pushdpopd命令是實際工作中非常實用的命令,節省了用戶在多個目錄中反覆使用cd命令的時間,大大提高了工作效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193979.html