如何喜欢上UNIX

//
如何喜欢上UNIX -
http://www.jianshu.com/p/ddda43b00000

这是一个自问自答的问题。为叙述方便,本文用 UNIX 来统称各种类 UNIX 操作系统(例如 Solaris、 FreeBSD、Linux 等等)。我不是要谈Unix如何好,好在哪里,我只是讲述一下我是如何喜欢上Unix的。

一、需求产生学习的动力

在大四后陆续接触到unix,但是都没有能真正的学习,最主要的原因还是因为没有使用的需求。2004年接手智能网配套系统的维护后,面对清一色的unix设备,为了工作不得不进行学习,从学习如何网络登录,如何查找命令到如何使用命令。工作的需求使得我真正去学习unix的使用,而且每天都使用,也开始能发现unix的好处。经常有朋友听到别人说unix如何好用,如何方便,也想学习unix,但最终都是3分钟热度,学习了几个最简单的命令后也就没有继续了,一直停留在快到入门的阶段上。最主要可能还是因为没有使用unix的需求,所以没能迈过第一步。

二、发现UNIX的生产力

我最开始发现unix的生产力是从awk程度开始的,这个程序也一直是我最喜欢使用的程序。当LJP第一次和我提了awk后,我就去学习了它的使用。当我第一次使用它去处理几十G的话单时,我第一次感受到了unix的生产力。从这开始,我就花时间去研究各个命令的使用技巧,学习shell编程,自动化的脚本终于产生了生产力。2006年开始,接手西门子智能网系统,一样是清一色的UNIX系统,而且都是德国人已经写好的程序,这一次真正感觉到了UNIX的威力,一切都尽量的自动化的维护,优秀的系统设计。美好的东西总是很短暂,当我接手西门子智能网的时候西门子网络已经是昨日黄花,最终广东的西门子智能网就在我手上结束了。

三、产生自已的UNIX生产力

从西门子设备换成了华为设备,还是清一色的Unix系统。但是已经从自动化变成了半自动化了。一次休假的机会,几周内,足不出户,快速学习了Perl语言。Perl自身的灵活语法,强大的正则表达式,良好的 shell结合能力,以及CPAN的众多模块,会使你的SA工作如鱼得水,工作量倍减。当时的感觉是Perl行云流水,婀娜多姿,是自已心中的仙子!从此开始在系统写大量的Perl脚本,产生了自已的unix生产力,同时还和自已的一直都感兴趣的web开发结合在一起,一下子进入了一个良好的模式。通过学习Perl,形成了自已学习编程语言的框架,为后面的其实语言的学习提供了良好的基础。使用了差不多2年时间的Perl后,开始学习了Python语言,这个时间就已经进入了2010年,又是利用亚运会封网期间的时间,系统学习了一下Python,又是喜欢上了Python的数据类型人性化的代码。2011年初后,被《rework》所影响,又快速学习了Ruby和Rails。如果要写单个程序的时候,大部份时间我还是用Python来写,如果要写一个系统的平台还是使用了Rails。Perl,Python,Ruby(Rails),一下子产生了自已的Unix生产力。

四、向别人介绍UNIX

就这样,我喜欢上了Unix了,我喜欢它的远程登录,我喜欢它的自动化,我喜欢它的众多优秀的程序,总之我喜欢它。喜欢的东西就要向朋友分享。结合我所喜欢的培训师工作,我也开始向朋友们讲Unix相关的课程。有《UNIX基础课程》,《AWK基础课程》,《利用软件杠杆效应进行改变》。如果每次讲课能让一个人喜欢上Unix我就已经很成功了。

五、喜欢列表

每个喜欢的东西都不一样,下面的东西是我喜欢,适合自已的才是最重要的,所以不是推荐列表而只是我喜欢的列表。

1.你最喜欢的UNIX操作系统?

我目前最喜欢的操作系统是Ubuntu,我一路过来使用的Unix系统有Solaris、RedHat、AIX、HP_UX、Ubuntu。在00年代,正是Solaris如日中天的年代,所有生产系统基本上全是Solaris(辉煌的时间总是很短暂),当时还花了好几千大洋去拿了SCSA和SCNA的认证。到了华为时期,生产系统上换成了HP_UX和AIX,惯性的把HP_UX和AIX的SA也考了。考试只是为了让自已能系统的把知识学习一遍。开始的时候,如果要在自已的X86电脑上安装系统的话,就是安装RedHat了,但是当时的RedHat下要安装一个程序实在是太痛苦了,要下载大量的关联包,不断的编译。感谢Ubuntu的出现,快捷的安装,自动的关联,丰富的支持文档。我喜欢apt-get install,所以我喜欢Ubuntu!

2.你最喜欢的Unix下的程序?

awk是我最喜欢的Unix下程序,没有之一。与其优秀的功能相比,awk还远没达到它应有的知名度。为什么喜欢awk?喜欢就是喜欢,没有为什么,喜欢的原因无法形容,用过了才知道。

3.你经常使用的编程语言有哪些。

我经常使用的的语言都是脚本型的语言。Python、Perl、Ruby、Shell脚本。

4.有什么好书推荐?

都说了不做推荐的。学习Unix的东西,基本不需要看书,所有内容网上都有很成熟丰富的内容。如果还要看的话,我看过的觉得好的书有:

《Linux/Unix设计思想》
《sed与awk》
《精通正则表达式》
《O'Reilly:Perl语言入门》
《Perl语言编程》
《O'Reilly:使用Perl实现系统管理自动化》
《O'Reilly:Perl最佳实践》
《O'Reilly:Python学习手册》
《O'Reilly:Shell脚本学习指南》
《Python参考手册》
《Ruby元编程》
《O'Reilly:Ruby最佳实践》
《O'Reilly:Ruby on Rails》
《Ruby编程语言》
《O'Reilly:Ruby语言入门》
《Programming Ruby》
等等,按自已的需求来看吧,直接上相应的语言的官方网站上去看就已经足够了。大部门的Unix应用相关的书都是O'Reilly出的,O'Reilly出的书都值得看看。

你可能感兴趣的:(如何喜欢上UNIX)