<em id="pn7p8"><acronym id="pn7p8"><u id="pn7p8"></u></acronym></em>

    <th id="pn7p8"></th>

    <button id="pn7p8"></button>

      <dd id="pn7p8"></dd>
      <progress id="pn7p8"><track id="pn7p8"></track></progress>

      Linux培訓
      達內IT學院

      400-111-8989

      Linux系統命令行工具的使用技巧(二)

      • 發布:Linux培訓
      • 來源:網絡
      • 時間:2017-06-02 15:58

      在我們開始之前,值得說明的一點是,此后提到的所有指導和命令已經在 Ubuntu 14.04 和 Bash shell(4.3.11)上測試過。

      pushd 和 popd 命令基礎

      為了更好地理解 pushd 和 popd 命令的作用,讓我們先討論堆棧的概念。想象你廚房案板上有一個空白區域,你想在上面放一套盤子。你會怎么做?很簡單,一個接一個地放在上面。

      所以在整個過程的最后,案板上的第一個盤子是盤子中的最后一個,你手中最后一個盤子是盤子堆中的第一個。現在當你需要一個盤子時,你選擇在堆的頂部的那個盤子并使用它,然后需要時選擇下一個。

      pushd 和 popd 命令是類似的概念。在 Linux 系統上有一個目錄堆棧,你可以堆疊目錄路徑以供將來使用。你可以使用 dirs 命令來在任何時間點快速查看堆棧的內容。

      下面的例子顯示了在命令行終端啟動后立即在我的系統上使用 dirs 命令的輸出:

      $ dirs

      ~

      輸出中的波浪號(~)表示目錄堆棧當前僅包含用戶的主目錄。

      繼續下去,使用 pushd 和 popd 命令來執行存儲目錄路徑并刪除它的操作。使用 pushd 非常容易 - 只需將要存儲在目錄堆棧中的路徑作為此命令的參數傳遞。這里有一個例子:

      pushd /home/himanshu/Downloads/

      上述命令的作用是,將當前工作目錄更改為你作為參數傳遞的目錄,并且還將路徑添加到目錄堆棧中。為了方便用戶,pushd 命令在其輸出中產生目錄堆棧的內容。因此,當運行上面的命令時,產生了以下輸出:

      ~/Downloads ~

      輸出顯示現在堆棧中有兩個目錄路徑:一個是用戶的主目錄,還有用戶的下載目錄。它們的保存順序是:主目錄位于底部,新添加的 Downloads 目錄位于其上。

      要驗證 pushd 的輸出是正確的,你還可以使用 dirs 命令:

      $ dirs

      ~/Downloads ~

      因此你可以看到 dirs 命令同樣產生相同的輸出。

      讓我們再使用下 pushd 命令:

      $ pushd /usr/lib/; pushd /home/himanshu/Desktop/

      /usr/lib ~/Downloads ~

      ~/Desktop /usr/lib ~/Downloads ~

      所以目錄堆棧現在包含總共四個目錄路徑,其中主目錄(~)在底部,并且用戶的桌面目錄在頂部。

      一定要記住的是堆棧的頭是你當前的目錄。這意味著現在我們當前的工作目錄是 ~/Desktop。

      現在,假設你想回到 /usr/lib 目錄,所以你所要做的就是執行 popd 命令:

      $ popd

      /usr/lib ~/Downloads ~

      popd 命令不僅會將當前目錄切換到 /usr/lib,它還會從目錄堆棧中刪除 ~/Desktop,這一點可以從命令輸出中看出。這樣,popd 命令將允許你以相反的順序瀏覽這些目錄。

      一些高級用法

      現在我們已經討論了 pushd 和 popd 命令的基礎知識,讓我們繼續討論與這些命令相關的一些其它細節。首先,這些命令還允許你操作目錄堆棧。例如,假設你的目錄堆棧看起來像這樣:

      $ dirs

      ~/Desktop /usr/lib ~ ~/Downloads

      現在,我們的要求是改變堆棧中目錄路徑的順序,最上面的元素(~/Desktop)放到底部,剩下的每個都向上移動一個位置。這可以使用以下命令實現:

      pushd +1

      上面的命令對目錄堆棧做的結果:

      $ dirs

      /usr/lib ~ ~/Downloads ~/Desktop

      因此,我們看到目錄堆棧中的元素順序已經改變,并且現在和我們想要的一樣。當然,你可以讓目錄堆棧元素移動任何次數。例如,以下命令會將它們向上移動兩次:

      $ pushd +2

      ~/Downloads ~/Desktop /usr/lib ~

      你也可以使用負的索引值:

      $ pushd -1

      /usr/lib ~ ~/Downloads ~/Desktop

      相似地,你可以在 popd 命令中使用此技術來從目錄堆棧刪除任何條目,而不用離開當前工作目錄。例如,如果要使用 popd 從頂部(目前是 ~/Downloads)刪除第三個條目,你可以運行以下命令:

      popd +2

      記住堆棧索引的初始值是 0,因此我們使用 2 來訪問第三個條目。

      因此目錄堆棧現在包含:

      $ dirs

      /usr/lib ~ ~/Desktop

      確認條目已經被移除了。

      如果由于某些原因,你發現你很難記住元素在目錄堆棧中的位置以及它們的索引,你則可以對在 dirs 命令中使用 -v 選項。這里有一個例子:

      $ dirs -v

      0 /usr/lib

      1 ~

      2 ~/Desktop

      你可能已經猜到了,左邊的數字是索引,接下來跟的是這個索引對應的目錄路徑。

      注意: 在 dir 中使用 -c 選項清除目錄堆棧。

      現在讓我們簡要地討論一下 popd 和 pushd 命令的實際用法。雖然它們第一眼看起來可能有點復雜,但是這些命令在編寫 shell 腳本時會派上用場 - 你不需要記住你從哪里來;只要執行一下 popd,你就能回到你來的目錄。

      經驗豐富的腳本編寫者通常以以下方式使用這些命令:

      popd >/dev/null 2>&1

      上述命令確保 popd 保持靜默(不產生任何輸出)。同樣,你也可以靜默 pushd。

      pushd 和 popd 命令也被 Linux 服務器管理員使用,他們通常在幾個相同的目錄之間移動。 在這里介紹了一些其他有用的使用場景。

      總結

      我同意 pushd 和 popd 的概念不是很直接。但是,它需要的只是一點練習 - 是的,你需要多實踐。花一些時間在這些命令上,你就會開始喜歡它們,特別是當它們提供了方便時。

      預約申請免費試聽課

      填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

      上一篇:Linux系統命令行工具的使用技巧(一)
      下一篇:Linux源碼包安裝過程及注意事項

      拯救者Linux:我是如何給我的團隊引入Linux的

      Linux只有十三個字符的經典Fork炸彈

      騰訊十年運維老兵:運維團隊的五個“殺手锏”

      為您的Linux應用開發加油提速(二)

      • 掃碼領取資料

        回復關鍵字:視頻資料

        免費領取 達內課程視頻學習資料

      • 視頻學習QQ群

        添加QQ群:1143617948

        免費領取達內課程視頻學習資料

      Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

      選擇城市和中心
      黑龍江省

      吉林省

      河北省

      湖南省

      貴州省

      云南省

      廣西省

      海南省

      高清特黄a大片,日本真人真做爰,特级做人爱C级,免费a级毛片 百度 好搜 搜狗
      <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>