Command
命令到底是什麼?如何辨識?
我想知道 Linux 命令到底是什麼?以及如何辨識和定位它們?
換句話說,什麼是不同種類/類型/類別的命令?如何辨識它們並定位(來源)它。
以下內容來自The Linux Command Line一書。完整的 PDF 教程也可在此處獲得:
命令可以是四種不同的事物之一:
- 一個可執行程序,就像我們在 /usr/bin 中看到的所有文件一樣。在這個類別中,程序可以是編譯的二進製文件,例如用 C 和 C++ 編寫的程序,或者用腳本語言編寫的程序,例如 shell、perl、python、ruby 等。
- 內置於 shell 本身的命令。bash 支持許多內部稱為 shell 內置命令的命令。例如,cd 命令是一個內置的 shell。
- 一個外殼函式。這些是集成到環境中的微型 shell 腳本。我們將在後面的章節中介紹配置環境和編寫 shell 函式,但現在,請注意它們的存在。
- 一個別名。我們可以定義自己的命令,由其他命令建構。
要辨識命令的類型,您可以使用
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
希望這對新使用者了解命令的基本知識有所幫助。