首頁 > 軟體

Linux cd 命令圖文詳解

2020-06-16 17:24:15

cd 命令是 *nix 系統中最基本的命令,它所做的事情是改變你當前所在的目錄。本文詳細介紹該命令,它所能完成的功能以及關於該命令內在的東西。

cd 命令:一個內建命令
BASH Shell 是大多 Linux 發行版的預設 shell,BASH 有一些自己的內建命令,cd 就是其中的一個。我將解釋什麼是內建命令,以及為什麼 cd 是一個內建命令。首先,用 SHELL 環境變數確認你當前的 shell:

現在用 which 命令檢查 cd 命令二進位制檔案所在的路徑(如果存在的話):

結果什麼都沒有輸出,這是因為系統中不存在 cd 命令的二進位制檔案。但是你仍然可以執行該命令,這是因為 cd 是 BASH 的內建命令。內建命令就是內建在 shell 裡的命令,另一個內建命令 type 會給你顯示 cd 命令是一個內建命令的資訊:

如果你嘗試獲得任何內建命令的幫助文件,將不存在它們獨立的幫助頁:

對於這些內建命令,不會建立獨立的進程來執行它們,因此他們執行效率較高。

為了得到所有的內建命令,你可以使用 help 命令(這裡 help 本身也是一個內建命令):

 

為什麼 cd 是內建命令
為了描述簡單,我就不討論更多的細節了,但是要理解這個問題的答案,還需要知道一點 Unix 進程相關的知識。

BASH 建立的任何進程,它會由一個 BASH 的子 shell(當前 BASH 進程的子進程)來執行該進程,新建的進程執行範例、輸出(如果需要的話),當該進程結束時,改子 shell 的任何屬性都不會返回給父 shell。注意到的是,cd 命令用來改變 shell 當前所在的路徑,如果 cd 是一個外部命令,它將改變子 shell 的當前路徑,當執行完返回時,他所做的改變對父 shell 沒有關係。因此,shell 的當前路徑還是沒有改變!所有改變當前 shell 環境的命令,在實現上都必須實現成內建命令。如果實現成外部命令,我們將不會得到預期的結果。

下面我們探索 cd 命令的用法:

cd 命令用法
如果你直接輸入 cd 命令而不帶任何引數,它將切換到你的 home 目錄下,不管你當前所在的目錄是什麼:

波浪線(~)符號也代表 home 目錄,你也可以使用它來切換到 home 目錄下:

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2017-01/139159p2.htm


IT145.com E-mail:sddin#qq.com