pushdpopd命令詳解

一、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

(1)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 09:42
下一篇 2024-12-02 09:42

相關推薦

  • Git config命令用法介紹:用正確的郵箱保障開發工作

    本文將詳細介紹如何使用git config命令配置Git的全局和本地用戶信息,特別是如何正確使用用戶郵箱,保障Git操作的正常進行。 一、git config命令介紹 Git中的每…

    編程 2025-04-29
  • Python命令大全及說明

    Python是一種高級編程語言,由Guido van Rossum於1989年底發明。它具有良好的語法結構和面向對象的編程思想,具有簡潔、易讀、易學的特點,是初學者以及專業開發人員…

    編程 2025-04-29
  • Python SSH 遠程執行命令

    Python SSH 遠程執行命令是指在一個伺服器上執行遠程另一個伺服器上命令。如果你需要在本地機器上執行命令,或者在遠程機器上執行本地命令,你都可以使用 SSH。在 Python…

    編程 2025-04-29
  • 剖析命令執行函數

    在編程開發過程中,命令執行函數是非常常見的一個概念。它是指接受一個命令字元串,並將其解析執行,返回相應的結果或錯誤信息的函數。本文將從多個方面對命令執行函數進行詳細的闡述,包括其定…

    編程 2025-04-28
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python中獲取用戶輸入命令的方法解析

    本文將從多個角度,分別介紹Python中獲取用戶輸入命令的方法,希望能夠對初學者有所幫助。 一、使用input()函數獲取用戶輸入命令 input()是Python中用於獲取用戶輸…

    編程 2025-04-27
  • Python3 執行 cmd 命令用法介紹

    本文將詳細講解如何使用Python3執行cmd命令,包括使用subprocess模塊、os模塊、Popen方法、system方法等多個方面的實現方法。 一、使用subprocess…

    編程 2025-04-27
  • 全面解析Python直接命令更新

    本文將從多個方面對Python直接命令更新進行詳細闡述,包括更新命令的基本用法、更新過程中可能遇到的問題及其解決方法等等。 一、更新命令基本用法 Python直接命令更新是一種非常…

    編程 2025-04-27
  • Python啟動命令用法介紹

    Python是一門解釋型語言,與許多編譯型語言不同,它不需要編譯成機器碼,而是通過解釋器一行一行讀取程序,逐句翻譯成目標代碼然後運行。因此,對於Python程序員來說,學會如何正確…

    編程 2025-04-27
  • Python調用CRT執行命令

    本文將詳細解答如何使用Python腳本調用CRT(SecureCRT)執行命令。 一、CRT模塊介紹 CRT模塊是Python官方提供,用於操作SecureCRT的一個插件,安裝之…

    編程 2025-04-27

發表回復

登錄後才能評論