Linux学习之道
从http://www.linuxdiyf.com 看的。
做为中国人的特殊情况,学习linux对中国人来说要做的事情相对多了一些:
- 以linux为荣耀,
以帮助他人了解和学习linux为己任。
坚持访问英文网站
,尤其是一些大师的个人主页。坚持阅读英文文档,并尽量翻译你读过的文档发表到国内的社区上供他人阅读和整理- 了解unix的历史,linux的历史和hacker的
历史及文化
。 - 尽可能联系所以可以联系到Linux的爱好者,尽可能多的了解你能接触到的最了解linux的人
对linux的看法
。并于自己的观点相比较。 - 空闲时思索为什么自己喜欢linux,别人为什么喜欢linux。为什么你们喜欢的理由不同?
阅读各类的开源许可协议
和商业的用户许可协议。对比他们各有哪些问题和优势。
以上使你了解开源文化
,是作为一个合格的linux社区成员的前提。
- 安装一个linux的发行版本。
- 尽你最大的能力把你的学习、娱乐或者工作的环境
转移到linux上来
。尽量避免寻找linux功能类似的软件,而是寻找linux下解决同样问题的通用的方法。并且对比同windows下的解决方法哪种更加优越。 学会SHELL编程
。SHELL几乎可以作为一个入门语言来学习。最低的要求是能够看懂你自己的版本的linux的配置脚本。理解为什么一些帖子中里提到的配置方法回起作用,并了解你的发行版本怎样从每个配置文件中把设置用环境变量的形式读取并让他生效的。学会安装以各种方式发行的程序
,并且让他们的安装同你系统的惯例一致。熟悉X windows的运作方式。熟悉你的发行版本的安全机制,并且学会定制他们按你的需求工作。
如果仅仅是作为用户并且部分体会unix的哲学,上面的几点就足够了。个人认为这几点足够成长为一个合格的Linux用户
了。甚至只要再稍稍的扩充就可以制作自己的发行版本了!而对于不同的用户群体,比如办公用户或者科研人员等。第8条意味着不同的标准。
- 选择一门或几门语言社区常用的
编程语言
。 - 搜集社区或者hackers
推荐的图书或资料、网站、新闻组
等。 - 选择一个较小的用你当前学习的语言开发的开源项目。
阅读他的代码
,并且对比他的代码和你形象的编写方式是否相同?哪种更加优越? - 尝试按照TODO中的要求
为这个软件编写代码
,并且同他的作者联系。学习autoconf和automake等工具的用法。 - 你也可以不参与项目的开发,但仍然能
从代码阅读中获益
。如果项目是一种你没有接触到的技术或者标准的实现,那么搜集资料读懂它! 学会使用linux下的调试工具
,如果软件还不太稳定,可以帮助找出BUG并且改正。并且学会制作patch发给作者。- 如果曾是windows的程序员,尝试
把开发环境转移到linux上来
。或者开始在windows的开发工作中使用开源的开发工具和SDK。 - 如果是系统管理员,还要
学会在linux部署更强的各类的安全方案
。但这已经不属于学习linux的范畴了。
上面介绍了几条学习的要求,主要强调的是学习的态度
。至于具体什么样的技术和自己应该在技术层次上的要求,按照上面介绍的方法应该会慢慢的体会到。