命令的基本格式
COMMAND [OPTIONS…] [ARGUMENTS…]
命令 (COMMAND)
OPTIONS(選項):用于啟用或關閉命令的某個或某些功能
短選項:-c 例如:-l、 -h、 -t、 -a 等
長選項:- -word 例如:- -all、 – -help、 – -update 等
ARGUMENTS(參數):命令的作用對象,如文件名、用戶名等
[ ]:為可選項
命令的執行過程
輸入命令回車后,系統提請特定的shell程序找到鍵入命令所對應的可執行程序或代碼,并由其分析后提交給內核分配資源將其運行起來
SHELL
在Linux系統中,Shell提供了用戶與內核進行交互操作的接口,它接收用戶輸入的命令并把它送人內核去操作,因此,shell也被稱為Linux的命令解釋器
顯示系統使用的shell
echo $SHELL
顯示當前系統使用的所有shell
cat /etc/shells
內部命令和外部命令
在shell中可執行的命令分為內鍵命令和外部命令
內鍵命令:集成在系統shell類型中(如bash),通過某命令形式提供,不同的shell類型所含的內鍵命令不同
help 內鍵命令列表
enable 查看該系統shell類型中的所有內鍵命令
enable command 啟用內部命令
enable -n command 禁用內部命令
enable -n 查看系統禁用內部命令
例如:
外部命令:在當前系統的某文件系統路徑下有對應的可執行程序文件,表現成磁盤一個一個的獨立文件,以文件路徑的形式存在(如:usr/sbin/ifconfig)
例如:
查看指定的命令是內鍵命令還是外部命令
type COMMAND
type -a COMMAND 查看命令的全部類型
type -P COMMAND 查看外部命令的文件路徑
例如:
內鍵命令和外部命令的優先級
內鍵命令:集成在系統shell類型中(如bash),系統開機就在內存中了,內鍵命令的執行直接系統調用
外部命令:系統文件系統路徑下對應的可執行程序文件,外部命令的執行依靠于系統$PATH變量下的文件路徑,其中外部命令的文件路徑存放在其中, 對應的外部文件卻沒有存放在其中,在不知道具體文件路徑的情況下,系統嚴格按照$PATH變量下的文件路徑一級一級進行尋找,找尋不到就無法執行, 除非告知具體文件路徑才可執行
echo $PATH
當外部命令執行過一次后,外部命令相對應的文件路徑就緩存到內存里了,重啟之后就不在了
當把緩存到內存里的外部命令刪除后,外部命令就無法執行了,所以緩存進內存里的不是外部命令的文件而是外部命令的文件路徑
綜上所述,內鍵命令的優先于外部命令
原創文章,作者:huliyuqiangwei,如若轉載,請注明出處:http://www.www58058.com/76577