區分內部命令和外部命令

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

【內部命令 vs. 外部命令】

(1)內部命令實際上是shell程序的一部分,其中包含的是一些比較簡單的linux系統命令,這些命令由shell程序識別並在shell程序內部完成運行,通常在linux系統加載運行時shell就被加載並駐留在系統內存中。內部命令是寫在bashy源碼裏面的,其執行速度比外部命令快,因爲解析內部命令shell不需要創建子進程。比如:exit,history,cd,echo等。常見的內部命令詳細見:bash內部命令 - koko7958的專欄 - 博客頻道 - CSDN.NET

(2)外部命令是linux系統中的實用程序部分,因爲實用程序的功能通常都比較強大,所以其包含的程序量也會很大,在系統加載時並不隨系統一起被加載到內存中,而是在需要時纔將其調用內存。通常外部命令的實體並不包含在shell中,但是其命令執行過程是由shell程序控制的。shell程序管理外部命令執行的路徑查找、加載存放,並控制命令的執行。外部命令是在bash之外額外安裝的,通常放在/bin,/usr/bin,/sbin,/usr/sbin......等等。可通過“echo $PATH”命令查看外部命令的存儲路徑,比如:ls、vi等。

(3)type命令可以分辨內部命令與外部命令

   type cd

   type ls 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章