Linux命令执行过程教程
在
Linux命令执行过程详解
判断路径
判断用户是否以绝对路径或相对路径的方式输入命令(如 /bin/ls),如果是的话直接执行。
检查别名
Linux 系统会检查用户输入的命令是否为 “别名命令”。因为,在 Linux 中,可以通过 alias 命令给现有命令自定义别名的,即用一个自定义的命令名称来替换原本的命令名称。我们输入以下命令,查看
alias ls
运行后,终端输出如下:
我们看到,输出了 ls 命令的具体的别名信息了,即,我们执行 ls 命令时,其实执行的是 ls --color=auto 这个命令,我们再次,使用 alias 命令,查看
alias rm
运行后,终端输出如下:
我们看到,同样,rm 命令也输出了其别名信息,因为,我们在执行 rm 命令时,其实执行的是 rm -i 命令,这就是为什么,我们使用 rm 命令删除文件时,会给出提示的原因。
判断是内部命令还是外部命令
Linux 命令行解释器(又称为 Shell)会判断用户输入的命令是内部命令还是外部命令。如果是内部命令,会被直接执行,而如果是外部命令,这些命令交给步骤四继续处理。
查找外部命令对应的可执行文件
当用户执行的是外部命令时,系统会在指定的多个路径中查找该命令的可执行文件,而定义这些路径的变量,就称为
也就是说,Shell 会在 PATH 变量包含的多个路径中逐个查找,直到找到为止(如果找不到,Shell 会提供用户 “找不到此命令”)。
Linux命令执行过程总结
在 Linux 中,从我们敲入一个命令,到按下回车这个命令被执行,大概经过了四个步骤,分别为:判断路径、检查别名、判断是内部命令还是外部命令和查找外部命令对应的可执行文件。