Linux命令执行流程

当我们执行一条命令的时候,整个命令执行流程如下:

1、判断路径

判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话,直接执行。

2、检查别名

Linux 系统会检查用户输入的命令是否为“别名命令”。要知道,通过 alias 命令是可以给现有命令自定义别名的,即用一个自定义的命令名称来替换原本的命令名称。

3、判断用户输入的是内部命令还是外部命令

Linux命令行解释器(又称为 Shell)会判断用户输入的命令是内部命令还是外部命令。其中,内部命令指的是解释器内部的命令,会被直接执行;而用户通常输入的命令都是外部命令,这些命令交给步骤四继续处理。
内部命令由 Shell 自带,会随着系统启动,可以直接从内存中读取;而外部命令仅是在系统中有对应的可执行文件,执行时需要读取该文件。
判断一个命令属于内部命令还是外部命令,可以使用 type 命令查看。

4、内部命令直接执行,外面命令检测是否存在缓存

5、检测PATH路径,有执行,无报错。
事实上执行过的外面命令都会保存在内部缓存中,当再次执行相同的命令,会通过缓存调取执行,也就意味着不会搜索PATH路径

猜你喜欢

转载自www.cnblogs.com/liuzgg/p/11801538.html
今日推荐