硬件,內核,庫,shellshell
widows中的.dll文件,是Dynamic Link Library在Linux中是.os或者.dos(shared object,d就是dynamic)數據庫
shell經過系統調用操做內核,應用程序經過shell 在unix上運行。緩存
命令分爲內置命令和外部命令
咱們不能直接操做內核,而是用shell經過系統調用和內核進行交互。當你敲入命令是,若是命令不是一個函數,那麼在內建命令列表中檢查。shell內建命令是指bash(或其它版本)工具集中的命令。通常都會有一個與之同名的系統命令,好比bash中的echo命令與/bin/echo是兩個不一樣的命令,儘管他們行爲大致相仿。當在bash中鍵入一個命令時系統會先看他是不是一個內建命令,若是不是纔會查看是不是系統命令或第三方工具。因此在bash中鍵入echo命令實際上執行bash工具集中的bash命令也就是內建命令,而不是/bin/echo這個系統命令。備註: Linux中的type命令若是命令既不是函數也不是內建命令,那麼掃描列在 PATH 中的目錄列表來進行查找。 Bash使用一個 hashtable ( 內存中的數據存放區域) 來記憶可執行文件的完整路徑,這樣能防止對 PATH 的擴展搜索。若是搜索沒有成功, Bash打印一條錯誤消息並返回退出狀態127。若是搜索成功或者命令包含一個斜槓, shell在一個單獨執行環境中執行這個命令。若是由於文件是不可執行的或者不是一個目錄形成執行失敗,就假設是一個shell腳本。若是命令是異步開始的, shell會等待命令完成並收集它的退出狀態。bash
-A 除了.和..的全部文件 -h 以人類方便的方式顯示,也就是將文件大小轉換成方便查看的 -r 用abcd相反的順序顯示文件 printenv 這裏還有一個顯示環境變量
Bash有緩存,hash列表是一個鍵值對數據庫,在你是用命令的時候,他會有一個緩存列表,hit表明你命中的次數。架構