GNU是一个开源软件计划(工程项目),包含了很多工具。
make是一个工具,对应的makefile其实开源理解为配置/命令要求 文件
shell是一个内核对应的接口(调用系统功能)程序,一个内核其实可以对应很多接口程序,比如有B shell,CSH 等等。
此外不同的shell还对应不同的命令行脚本。
shell是用户和Linux操作系统之间的接口。
make是Linux专门为软件编译提供了一个自动化管理工具。
gnu是一套开源协议,也可以指这套开源协议下的众多开源工具,gcc就是著名之一
GNU的意思就是开源
make一般是用来编译的,提供一系列编译选项
shell相当于windows下面的MS-DOS工具