歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux cd 命令圖文詳解

Linux cd 命令圖文詳解

日期:2017/2/28 13:45:07   编辑:Linux教程

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 目錄下:

Copyright © Linux教程網 All Rights Reserved