13.4. 使用 cd 來轉換目錄

只要您知道目前所在的位置(您目前的目錄)以及您想要到那裡去,轉換目錄很容易的。

想要轉換目錄,請使用 cd 指令。 如果只下這個指令,將會回到您的家目錄;如果想到其他的目錄,請在其後加上一個 路徑名稱

您可以使用 『絕對的』 或 『相對的』 路徑名稱。 絕對的路徑使用 /(稱為根目錄)以檔案系統的頂端為起始,然後再向下搜尋要求的目錄; 相對的路徑由您目前所在的目錄向下搜尋。 下列的樹狀圖用來解釋如何使用 cd

/
/directory1
/directory1/directory2
/directory1/directory2/directory3

假如您目前在 directory3,而您想轉換到 directory1,您需要在這個目錄樹中向上移動。

請執行這個指令

cd directory1 

當您還在 directory3 時,您將會看到一個錯誤訊息表示該目錄並不存在。 這是因為在 directory3 下並沒有 directory1 存在。

要向上移動至 directory1,請輸入:

cd /directory1 

這是一個絕對路徑的例子。 它告訴 Linux 以最頂端 (/) 為起始,再移動到 directory1 為止。 如果路徑以 / 開始,那麼它就是一個絕對路徑。 否則,就是一個相對路徑。

使用絕對路徑會將您從 / 目錄轉換到任何的目錄,不過這需要您輸入完整的路徑名稱。 使用相對路徑將可以讓您轉換到與您目前工作目錄相對應的目錄,這可以讓您很方便地轉換到您目前目錄的子目錄下。

cd .. 指令告訴系統轉換至您目前工作目錄的上一個目錄,如要往上跳兩個目錄,請使用 cd ../.. 指令。

使用以下的練習題來測試您對絕對路徑與相對路徑的了解。 從您的家目錄,輸入以下的相對路徑:

cd ../../etc/X11

在使用範例中的指令後,您應該在 /X11 目錄中,在其中您可找到關於 X 視窗系統的設定檔與目錄。

現在讓我們來看一下您執行的上一個 cd 指令。 您告訴系統做:

  1. 從您的登入目錄向上移動一層到它的母目錄(也許是 /home

  2. 然後再向上移動一層(也就是根目錄或 / 目錄)

  3. 然後再向下轉換到 etc 目錄

  4. 最後,再轉換到 X11 目錄

相反地,使用絕對路徑將會更快地帶您到 /etc/X11 目錄。 例如:

cd /etc/X11

絕對路徑以根目錄 (/) 開始,然後向下移動到您所指定的目錄。

注請注意
 

在您輸入想取得的目錄或檔案前,請隨時確定您所在的工作目錄。 而當您輸入前往另一個目錄或檔案的絕對路徑時,您根本不需要擔心您在檔案系統中的位置。 假如您不確定的話,請輸入 pwd 指令,然後就會出現您目前所在的目錄,這將可幫助您使用相對路徑名稱來轉換目錄。

指令功能
cd讓您回到登入的目錄
cd ~也是回到您登入的目錄
cd /帶您到整個系統的根目錄
cd /root帶您到在安裝時建立的 root 或 superuser 帳號的家目錄; 您必須是 root 才能存取這個目錄
cd /home帶您到存放使用者登入目錄的 /home 目錄
cd ..向上移動一層目錄
cd ~otheruser帶您到 otheruser 的登入目錄(如果使用者 otheruser 有給予您權限的話)
cd /dir1/subdirfoo不管您在哪一個目錄,這個絕對路徑將會直接帶您到 dir1 目錄下的 subdirfoo
cd ../../dir3/dir2這個相對路徑會帶您向上移動兩層目錄,然後再到 dir3,最後再到 dir2 目錄。

表格 13-1. cd 的選項

現在您已開始了解如何轉換目錄,讓我們再來試試看轉換到 root 的登入目錄(superuser 的帳號), 看會發生什麼事。 請輸入:

cd /root

如果您不是以 root 的身分登入,您將會被 "權限拒絕" 存取該目錄。

拒絕存取 root 以及其他使用者的帳號(或登入目錄)是您的 Linux 系統用來避免意外或懷有惡意竄改的一種方式。 請看 菴 13.14 節

如要轉換至 root 的登入以及 root 的目錄,請使用 su 指令。

su

提示建議
 

su 指令代表取代使用者,而且它讓您暫時登入為另一個使用者。 當您只輸入 su 再按下 [Enter] 鍵,您將成為 root (也稱為 superuser),不過您還是在您的登入 shell (您的家目錄)。 輸入 su - 將使您成為 root 並且在 root 的登入 shell 中,也可以說,就像您原先是以 root 身份登入的一樣。

只要您輸入 root 的密碼後,您將會看到指令提示符號的改變,以表示您 superuser 的身份,root 的帳號指名在提示符號的前面,還有 "#" 在後面。

當您完成 root 的工作後,請在提示符號下輸入 exit,您將會回到您的使用者帳號。