Command

命令到底是什麼?如何辨識?

  • January 12, 2016

我想知道 Linux 命令到底是什麼?以及如何辨識和定位它們?

換句話說,什麼是不同種類/類型/類別的命令?如何辨識它們並定位(來源)它。

以下內容來自The Linux Command Line一書。完整的 PDF 教程也可在此處獲得:

命令可以是四種不同的事物之一:

  1. 一個可執行程序,就像我們在 /usr/bin 中看到的所有文件一樣。在這個類別中,程序可以是編譯的二進製文件,例如用 C 和 C++ 編寫的程序,或者用腳本語言編寫的程序,例如 shell、perl、python、ruby 等。
  2. 內置於 shell 本身的命令。bash 支持許多內部稱為 shell 內置命令的命令。例如,cd 命令是一個內置的 shell。
  3. 一個外殼函式。這些是集成到環境中的微型 shell 腳本。我們將在後面的章節中介紹配置環境和編寫 shell 函式,但現在,請注意它們的存在。
  4. 一個別名。我們可以定義自己的命令,由其他命令建構。

要辨識命令的類型,您可以使用type

NAME
   type - Display information about command type.

例子:

$ type ls
ls is aliased to `ls --color=auto'
$ type cd
cd is a shell builtin

要顯示命令的位置,您可以使用which

$ which info
/usr/bin/info
$ which init
/sbin/init

希望這對新使用者了解命令的基本知識有所幫助。

引用自:https://unix.stackexchange.com/questions/132368