先大体说下什么是Shell:
文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
shell是学习Linux的基础之一,很多shell后端其实就是C实现的,你只有知道基础的shell操作才能明白系统是如何调用这种程序处理的。学习内核需要很大的精力,你最好先学习下操作系统原理、还有C语言,如果在宏观上都不知道系统是如何工作的,就算看了内核代码也是没有意义的。
一般情况下不建议学习内核,意义不太大,只要知道如何调用封装好的内核处理就可以了,当然感兴趣还是可以看一下的,不要浪费太多时间。
最主要是要有c的基础,然后是系统命令,shell脚本属于自然就懂了。
不需要懂。但是shell很简单,随意看看就会了,同“真正”懂内核的难度不在一个数量级。
内核源代码的scripts目录下有很多shell脚本和perl脚本,看得懂它对理解代码有帮助。但是这些都很简单的,同“真正懂”没关系。“真正懂“需要看的是核心代码。除非你的要求是”完全“懂。
问题是,你看懂内核意义何在?