內建命令與外部命令

內建命令

Builtin Commands。 內建命令係由 Shell 自身實現嘅命令,佢哋喺 Shell 內部運行, 無需啟動新進程或者調用外部程序,係 Shell 操作嘅基本功能。

常見嘅內建命令

  • cd:更改當前工作目錄。
  • echo:輸出字符串到終端。
  • exit:退出當前 Shell 會話。
  • export:設置或者導出環境變量。
  • alias:為命令創建別名。
  • set:設置 Shell 選項同變量。
  • read:從標準輸入讀取一行並賦值畀變量。

完整嘅內建命令

Bash Builtin Commands

Bash 內建命令

外部命令

External Commands。 外部命令係指嗰啲唔係由 Shell 自身實現嘅命令,而係系統中嘅可執行文件。 當你運行一個外部命令時,Shell 會通過查找 PATH 環境變量中嘅目錄, 搵到對應嘅可執行文件,並啟動一個新進程嚟運行該命令。

常見嘅外部命令

  • /bin/ls:列出目錄內容。
  • /usr/bin/grep:搜索文件中內容。
  • /bin/cat:顯示文件內容。
  • /bin/mkdir:創建目錄。

區分內建命令與外部命令

使用 type 命令

type cd
cd is a shell builtin

type cat
cat is /usr/bin/cat

列出所有實現

type -a pwd
pwd is a shell builtin
pwd is /usr/bin/pwd
pwd is /bin/pwd

上面列出咗 pwd 嘅內建實現同外部實現,如果要使用外部實現,需要使用完整路徑。

列出命令嘅別名

type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

另外使用 which 命令只會顯示外部命令。