linux基本命令分類及其優先度

一丶liunx分類

linux命令可大致分爲三類 內置命令,外部命令及alias命令(別名)(可通過type comment來查詢是什麼命令)

1 內置命令(builtin)

內置命令實際上是shell程序的一部分,包含一些比較簡練的liunx系統命令,由shell程序識別並在shell程序內部完成運作。
linux基本命令分類及其優先度注:此爲type查詢的內部命令

查詢所有激活的內置命令 enable

[root@centos7 ~]# enable
enable .
enable :
enable [
enable cd
... ...

可以將內置命令禁用,如 enable -n comment (comment代指某一指令,以下皆同)
linux基本命令分類及其優先度
顯示所有已禁用的內部命令 enable -n
linux基本命令分類及其優先度
若想重新啓用已禁掉的內置命令可 enable comment
linux基本命令分類及其優先度

2 外部命令

外部指令是linux系統中的實用程序部分,由於包含的程序量過大,並不會一開機就被加載入系統內存中,而是在需要時纔會被調入內存。(通過shell程序管理外部命令執行的路徑查找、加載存放,並控制命令的執行。)
linux基本命令分類及其優先度注:此爲type查詢的外部命令
外部命令分爲hash緩存命令和路徑執行,凡是被執行過的命令會被調入緩存,而這個緩存便是hash,hash記錄了你最近所有執行過的外部命令

hash緩存

顯示所有被緩存的命令路徑 hash
linux基本命令分類及其優先度
清空所有的緩存 hash -r
linux基本命令分類及其優先度

PATH

按路徑執行又可分爲直接輸入相關路徑執行和輸入命令後自動搜索路徑執行,自動搜索路徑的目錄可用echo ¥PATH查看
linux基本命令分類及其優先度
如上圖所示,以冒號爲分隔 從左往右搜索,若同一命令在兩個文件夾內存在,則將第一個搜尋到的命令存入hash中並執行。

3 alias

alias命令指的是用戶設置命令的別名,以簡寫命令,提高操作效率。
顯示所有的別名信息 alias
linux基本命令分類及其優先度
設置一個別名 alias 別名='command -選項 參數'
linux基本命令分類及其優先度
刪除一個已設置的別名 unalias 別名
linux基本命令分類及其優先度

二丶優先度

若假設一條命令同時存在於內置命令,外部命令和alias中
linux基本命令分類及其優先度
linux基本命令分類及其優先度
linux基本命令分類及其優先度
直接輸入comment進行測試
linux基本命令分類及其優先度
可得第一個爲alias,從別名中刪除該命令後測試
linux基本命令分類及其優先度
第二個爲內置命令,將其禁用後再測試
linux基本命令分類及其優先度
第三個爲hash,將緩存刪除後最後測試
linux基本命令分類及其優先度
由此可知根據同一命令在系統中輸出的優先度顯示分別爲alias>內置命令>外部命令(hash>path)

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