Linux中內部命令和外部命令如何區分?

老男孩IT教育機構發表於2023-03-13

  在Linux系統中,有很多命令可供我們使用,大部分操作都可以藉助命令來完成,讓我們的工作更加高效。那麼Linux系統中命令有幾種型別?Linux命令分為兩類,具體為內部命令和外部命令,接下來我們來看看具體的內容介紹。

  Linux命令有內部命令和外部命令之分,內部命令和外部命令功能基本相同,但也有些細微差別。

  內建命令在系統啟動時就調入記憶體,是常駐記憶體的,所以執行效率高。而外部命令是系統的軟體功能,使用者需要時才從硬碟中讀入記憶體。

  外部命令

  外部命令也稱為檔案系統命令,是bash shell之外的程式,也並不是shell的一部分。外部命令一般位於/bin、/usr/bin、/sbin或/usr/sbin中。外部命令是Linux系統中的實用程式部分,因為實用程式的功能通常都比較強大,所以其包含的程式量也會很大,在系統載入時並不隨系統一起被載入到記憶體中,而是在需要時才將其呼叫記憶體。

  通常外部命令的實體並不包含在shell中,但是其命令執行過程是由shell程式控制的。shell程式管理外部命令執行的路徑查詢、載入存放,並控制命令的執行。外部命令是在bash之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/bin……等等。可透過“echo$PATH”命令檢視外部命令的儲存路徑,比如:ls、vi等。

  內建命令

  內部命令實際上是shell程式的一部分,其中包含的是一些比較簡單的Linux系統命令,這些命令由shell程式識別並在shell程式內部完成執行,通常在Linux系統載入執行時shell就被載入並駐留在系統記憶體中。

  內部命令是寫在bash原始碼裡面的,其執行速度比外部命令快,因為解析內部命令shell不需要建立子程式。比如:exit,history,cd,echo等。

  說明

  其中,pwd命令是一個特殊的命令,其有兩個版本,一個版本是內建命令,一個版本是外部命令。

  總結而言,外部命令會建立出一個包含全新環境的子程式,而內建命令不會。相比之下,外部命令的使用成本更高,所以內建命令更高效,不會受到環境變化的影響。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2939366/,如需轉載,請註明出處,否則將追究法律責任。

相關文章