> 文章列表 > Linux_Shell命令解析

Linux_Shell命令解析

Linux_Shell命令解析

简介

在linux终端中执行ls命令,ls命令是如何被解析并且执行的。Shell命令的格式一般为:

[commond] [-options]  [parameter]执行命令	命令的选项	命令的参数

当执行ls命令是显示当前目录下所有文件的名称
在这里插入图片描述
执行ls -l命令是显示当前目录下所有文件的属性信息
在这里插入图片描述
执行ls -l /mnt 命令是显示mnt目录下的所有文件信息
在这里插入图片描述

命令解析

当在执行框中执行ls命令时,shell会根据PATH环境变量去文件夹中寻找对应名称的指令。可以通过执行echo $PATH命令查看添加的执行文件路径。
在这里插入图片描述
也可以通过env命令查看所有环境变量的值,也可以查看对应环境变量的值。
在这里插入图片描述

验证测试

编写一个应用程序

#include <stdio.h>
int main(int argc,char **argv){if(argc>1)printf("Hellow,%s!\\n",argv[1]);//①else if(argc == 1)printf("Hellow %d\\n",argc);//②return 0;
}

应用程序主要功能:当输入参数大于一个时,打印结果①;让输入的参数等于一个时,打印结果②。
在这里插入图片描述
首先执行hello引用程序,提示没有此命令这是由于PATH环境变量中没有添加该文件路径的原因。然后使用相对路径执行hello应用程序,应用程序可以执行。最后使用绝对路径执行hello应用程序,也可以执行。

添加应用程序到PATH环境变量中

使用vim打开/etc/profile文件添加PATH环境变量,将hello应用程序的绝对路径添加到环境变量中。
在这里插入图片描述
然后再运行source /etc/profile 命令重新运行profile配置文件,这次直接使用命令hello可以看到应用程序正常运行。
在这里插入图片描述
#注意
测试完成后记得恢复profile文件的内容