1. 前言
为什么要学习Linux应用及内核开发?第一当然是因为热爱,第二是因为就业待遇高。如果鱼与熊掌皆可兼得,这个工作还有什么可挑剔的呢?
Linux系统的内容可以用浩瀚来形容。从哪下手学习,以什么样的路线学习,对初学者来说,是个大问题。本文就作者实际经验而谈,讲一讲我认为的Linux应用及内核开发最佳的学习计划。
声明本文不是卖课的文章,请放心阅读。
2. 习惯使用命令行Shell
对于习惯使用windows系统的同学来说,对命令行应该是非常排斥的,总觉得命令行是一种过时的技术,应该被淘汰。但实际上,很多专业的编程人员仍然在使用命令行提高工作效率。UI交互和命令行交互相比,UI更易用,但是使用效率不如命令行。简单来说,软件系统的用户更习惯使用UI进行操作,开发者更习惯使用命令行完成任务。
即使你很排斥使用命令行,也要硬着头皮去用。如何去学习使用命令行?这里面有个认知上的大坑,需要特别注意。是什么大坑呢?
可能有的人认为不就是学命令行嘛,去网上搜一下Linux命令行教程跟着学不就行了。哎,这就是误区。Linux命令行太多,命令行是一种交互方式,并不是指所有命令的集合,绝对不要像考试刷题一样,把每个命令都背下来,像做填空题一样,写出每个命令的参数,抑或是判断对错。
学习linux命令行,是学习一种与系统交互的工作方式。我们学习的重点应该放在以下几点:
- 命令行能做什么,不能做什么;
- 什么情况下应该用什么命令,去给操作系统下达指令;
- 如何组合命令实现更强大的功能;
- 在使用的过程中,去查命令的使用手册。
总的来说,学命令行,就是要去多用,而不是多记忆,多用自然能记住和理解。
这里说的多用,不是对着书敲一下demo,而是用命令行去完成某个任务。
这里强烈推荐的命令行动手学习方案,是使用linux下的git进行项目管理。git中包含了很多命令,从数量上来说,用来学习基本足够。
命令的输出内容是文本,怎么去看懂满屏幕的文字,有的同学可能对满屏的文字比较反感,其实,还是那句话,硬着头皮看,熟能生巧,多看几遍,过几天再看,就会感觉非常熟悉,科学上这叫酝酿学习法。
命令行是学习linux的第一道门槛,边用边学是最佳的学习方法。