中山野鬼 我也讨论一下,想成为linux熟手的方法

首先明确啊。我不是高手。基本能力如下:

1、linux的安装,熟练。

2、linux shell下的基本命令熟练。

3、linux内核源码,部分模块看过。没有全部看过。

4、linux下的C设计,熟练。

5、linux下的C工程make,熟练。

低于熟练的我就不说了。和linux平台没有太多关系的,比如数据库,算法,系统构架,网络我也不说了。

但说来说去我都不算不上高手。

刚看了一篇帖子,说如何成为linux 高手。我觉得有道理,也有偏颇的地方。给出怎么成为熟手前,需要说说高手和熟手的差异。

电影台词经常会说”高,实在是高“。高手,讲究高明。此时已经和linux没有关系。而是其利用linux的方法,要么可以做复杂到其他人做不了的 事情,要么看似复杂的事情,他能简单高效的处理,分解开来,其他人都能懂,但这个组合的巧妙,大家不由的说”高,实在是高“。这才是高手。

因此,高手不是说精通linux内核。可以给你如数家珍的所有内核函数背一边。有什么意义呢?字典加个发声,就可以替代。

高手是指,能有效区分工具自身和不同工具之间的特性并且可以最大化的利用工具(包括编程工具本身),完成一般人完成不了的任务。当然前提是对系统和工具的足够理解,特别是原理性的理解,但还要包括巧妙的使用。

熟手相对高手而言,在工具或系统的理解上还是有些差距,由此导致并不能最大化的利用好工具并创造出更巧妙的解决方案。

但你想成为高手前,肯定要过熟手这一关。因此,对于想成为熟手的朋友给出以下建议。

1、要理解linux和windows 理念上的差异。这个很多教linux的人会忽视不独立提出来,但是会反复说,这个和windows的概念不一样,大家要注意了。

就我认为,linux源于unix,和windows最大的差异在于 ,前者是模块化,例如通过各个模块的组合使用发挥功能,由此各个模块短小精干,效率很高,但散列出来,总觉得不如微软的东西方便。而组合起来,又比微软的 东西方便很多,这是linux老鸟非常鄙视微软,但是菜鸟体会不到的更本原因。而微软是层次概念。一层套一层。你想做的事情,都得在微软提供的某个层次上 展开。如果这个层次微软无法提供你想做的事情,微软会说是你的问题,而不是他的问题。其实方便并不代表好,方便面很方便,有营养吗?只是吃的快而已。你很 难想象在微软的东西中,一个软件的输出,会作为另一个软件的输入整合起来作为一个新的应用(自动的,产品化的),但在linux下,你经常可以见到模块的 组装,特别是管道的概念。每个应用程序只是管道中的一个部分。所以各位新人,对linux你一定要报着模块化组装的思想来看待。

2、linux和window还有个比较显著的差异就是开源。其实这个和linux是模块化的非商业版本盈利模式有关以区别UNIX。既然linux是模块化的,几乎linux不会标榜自己把你的任务全部完成,因此,他可以提供马桶,水和纸,但最终的便便还是要你自己拉。

而层次化的windows则反过来,他希望他能把你想要做的事情全部给你做完了。但是毕竟客户的需求是动态的,在出现矛盾时,微软会说,是你没有参 考好说明书,我们的全自动马桶包括催便便歌曲只能支持你1分钟的时间,过了1分钟。马桶、水、纸都会自动禁用,此时我们已经自动给你端上了可口的饭菜,同 时你必须吃掉。否则,我会很生气的对你”蓝屏“。

开源不单单是个copyleft的事情,更多的是希望linux能更好的为你服务。如果你希望拍一次手,就会自动冲水,开源能更好的让你实现(前提你有这个能力)。而微软的产品会认为"你有权利享受我们拍手冲水的优良服务,但是你只能拍两次手”

综合上面两点,对于linux新手而言,需要注意,尽可能的先去熟练已经有的模块。除非必要。否则尽可能不要自己重写代码。但是linux上面的工 具很多,模块很多。命令很多。就是一个命令的格式也很多。我也很不喜欢熟手和高手,动不动说一句“你去 man","你去看内核”。由此导致新手往往很痛苦,痛苦在于,我很想自己组装一个飞机,但是这么多零件,我真的很晕。

我的一个建议就是。如果你刚学写linux或者没有到一定的知识积累,那么就钉死一个目标去做。哪怕你说,我想在linux下用C语言编写一个 hello world。你为了这个目标,可能就学会了ls,学会了mkdir等等。先不要展开,觉得这个也好奇,那个也好玩。尽可能快的完成你的目标。因为是 linux不会什么都提供给你。你要完成一个简单的目标也是要好几个步骤,因此你肯定有所积累。

随后,你要改变你的目标性质,原先是命令行的操作,你可以开始琢磨是否能脚本化操作。但一定要注意,尽可能的让后期你的目标中,有前期目标成果的组成,这样你不需要重新面对一堆不懂的问题。

因此,linux的学习,先不要考虑你是打算研究linux内核的心态,仅针对你的目标,强迫自己,始终在linux的环境下,逐步实现。深度递进 的学习,再广度展开。哪怕没有图形化界面,你强迫自己学VI。如同先烈们那样,那么你也会发现,自己很快学习到很多东西,而且不会那么痛苦。

逐步熟练对linux下已有模块的使用之后,你就会发现自己有创作的灵感,可以仅利用已学的几个模块,创造性的组合出别人所描述的“高,实在是高”的设计。


转载于:https://my.oschina.net/luckystar/blog/67075

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值