命令的基本格式
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.178linux.com/76577