內(nèi)建命令實際上是 shell 程序的一部分,其中包含的是一些比較簡單的 Linux 系統(tǒng)命令,這些命令是寫在bash源碼的builtins里面的,并由 shell 程序識別并在 shell 程序內(nèi)部完成運行,通常在 Linux 系統(tǒng)加載運行時 shell 就被加載并駐留在系統(tǒng)內(nèi)存中。而且解析內(nèi)部命令 shell 不需要創(chuàng)建子進程,因此其執(zhí)行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是 Linux 系統(tǒng)中的實用程序部分,因為實用程序的功能通常都比較強大,所以其包含的程序量也會很大,在系統(tǒng)加載時并不隨系統(tǒng)一起被加載到內(nèi)存中,而是在需要時才將其調(diào)用內(nèi)存。雖然其不包含在 shell 中,但是其命令執(zhí)行過程是由 shell 程序控制的。外部命令是在 Bash 之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。
使用 type 命令來區(qū)分命令是內(nèi)建的還是外部的:
help 命令
help 命令是用于顯示 shell 內(nèi)建命令的簡要幫助信息。幫助信息中顯示有該命令的簡要說明以及一些參數(shù)的使用以及說明,一定記住 help 命令只能用于顯示內(nèi)建命令的幫助信息。
exit,cd 便是內(nèi)建命令。
外部命令的話基本上都有一個參數(shù)--help,這樣就可以得到相應(yīng)的的幫助。
man 命令
章節(jié)數(shù)? 說明
1? ? ? ? ? ? Standard commands (標(biāo)準(zhǔn)命令)
2? ? ? ? ? ? System calls (系統(tǒng)調(diào)用)
3? ? ? ? ? ? Library functions (庫函數(shù))
4? ? ? ? ? ? Special devices (設(shè)備說明)
5? ? ? ? ? File formats (文件格式)
6? ? ? ? ? Games and toys (游戲和娛樂)
7? ? ? ? ? Miscellaneous (雜項)
8? ? ? ? ? ? Administrative Commands (管理員命令)
9? ? ? ? ? 其他(Linux特定的), 用來存放內(nèi)核例行程序的文檔。
打開手冊之后我們可以通過 pgup 與 pgdn 或者上下鍵來上下翻看,可以按 q 退出當(dāng)前頁面
info 命令
info 來自自由軟件基金會的 GNU 項目,是 GNU 的超文本幫助系統(tǒng),能夠更完整的顯示出 GNU 信息。