15. 在Linux的系統裡面,cd這個指令代表的是change directory,也就是切換目錄。可是在系統的執行目錄裡 面,卻找不到一個程式名為cd,請問這是什麼原因呢?
(A)因為cd這個程式被設為隱藏檔,因此預設在搜尋 的時候會找不到它
(B)因cd這個程式需要系統管理員的權限才能夠讀取
(C)因為cd這個指令其實是由shell來執行的,因此根 本沒有這個程式
(D)因為cd這個程式其實叫做pwd,系統只是把cd連 結到真正的執行檔pwd上面

答案:登入後查看
統計: A(15), B(15), C(52), D(29), E(0) #2934338

詳解 (共 2 筆)

#5523086
cd Commandcd is a sh...
(共 253 字,隱藏中)
前往觀看
6
0
#6482270

15. 在 Linux 系統中,cd 指令的背後原因

在 Linux 系統中,cd 指令(代表 change directory,切換目錄)是一個非常常用且基本的指令,但您在系統的執行目錄中卻找不到一個名為 cd 的程式。這是因為 (C) cd 這個指令其實是由 shell 來執行的,因此根本沒有這個程式

  • Shell 內建指令 (Built-in Command):cd 是一個 shell 內建 (built-in) 的指令。這表示它不是一個獨立的可執行檔,而是直接由您正在使用的命令列解釋器 (shell),例如 Bash、Zsh 或 csh 等來實現的。
  • 為何是內建?:cd 指令需要直接改變 shell 自身的工作目錄 (current working directory)。如果 cd 是一個獨立的外部程式,它將會在自己的獨立行程中執行,並且在執行結束後,該行程就會終止,其對工作目錄的改變也將隨之消失,無法影響到父行程 (也就是 shell) 的工作目錄。因此,為了讓 cd 的效果能持續影響 shell 會話,它必須作為 shell 的內建功能來執行。
  • 如何驗證?:您可以使用 type cd 命令來驗證 cd 是否為內建指令。它會顯示 cd is a shell builtin。

分析其他選項:

  • (A) 因為 cd 這個程式被設為隱藏檔,因此預設在搜尋的時候會找不到它:錯誤。即使是隱藏檔,它們也是實際存在的檔案,並且可以在特定條件下被找到或執行。cd 不是一個檔案。
  • (B) 因為 cd 這個程式需要系統管理員的權限才能夠讀取:錯誤。cd 是一個所有使用者都可以執行的基本指令,不需要特殊權限。
  • (D) 因為 cd 這個程式其實叫做 pwd,系統只是把 cd 連結到真正的執行檔 pwd 上面:錯誤。pwd (print working directory) 是另一個用於顯示當前工作目錄的獨立指令,它與 cd 的功能不同,也不是 cd 的底層實現。
0
0