浅谈GNU/Linux的学习

有人向我询问过关于如何GNU/Linux的问题。很遗憾的是,在使用多年GNU/Linux之后,我也不记得自己是怎么入门的,只好凭着自己的一点经验,谈谈学习GNU/Linux的方法。

我最早接触GNU/Linux,是在初中的时候。我在一些电脑和黑客的杂志上看到了这个操作系统,那时候RedFlag还是中文杂志中常见的发行版,Mandriva和Linspire还在,Ubuntu还不太流行。当时也就是学了ls等少数几个命令,在红旗下玩点小游戏,用Kaffeine放点东西。有的同学在教室的电脑上装了openSUSE并尝试了桌面特效。之后我到上大学之前都没再用过GNU/Linux.

之后到了2011年,我刚刚进入大学,教我们程序设计的老师在课堂上常常用PuTTY连接GNU/Linux的机器,并且还教过我们用man查C库函数的使用,于是我重新对GNU/Linux有了兴趣。我用过Ubuntu,用过Freespire和MEPIS,感觉都不好用,最后用了Fedora 16.当时我向老师请教过一些问题,老师都给了我答案,比如Vim用C-p做补全和C-y复制上一行,用SSH而不是Telnet是因为Telnet是明文连接,我学到了不少东西。

开始的时候,我用图形界面的软件管理器装软件,也因为MPlayer和ffmpeg之类的软件不在软件源而折腾过RPM Fusion,慢慢地我就了解了包管理,学会了用yum安装和升级软件,学会了用软件源。过了一段时间,在王垠的《完全用Linux工作》的影响之下,我终于下定了决心,把Windows彻底删掉,计算机上只安装Fedora.这是我最早真正使用GNU/Linux的经历。

过了一个学期,在看到了BBS的Linux版之后,我加入了Linux俱乐部。在这个社团里,我认识了两个人。一个是Gentoo用户,擅长shell和LaTeX,维护着LaTeX论文模板。一个是Debian社区的成员,是Debian Maintainer,擅长Perl语言。这两位是社团的负责人,在我见过他们开始,到一年半后他们毕业,他们一直在主持社团的活动。有这么优秀的社团负责人,同时当时BBS也活跃,Linux版也是比较有影响力的版面,因此时常有其他GNU/Linux高手来参与活动。在身边的人的影响和指导下,我的技术水平也有快速的提高。

在这个学期里,我接触了Arch Linux,一个受极简主义影响的社区发行版。由于此前用的是Fedora,我已经习惯了在系统上用最新的软件,因此用了一段时间的Arch之后,感觉和我非常合拍。而且,因为Arch是社区发行版,进入软件源的包不担心太多的专利问题,因此我常用的媒体播放器MPlayer、ffmpeg这些在Arch就能直接安装。Arch还有优秀的ArchWiki,通过阅读这些文档,我学到了很多知识,并且在执行每一个操作时,都明白了自己在做什么。恰好这个学期有一次活动,讲解Linux包管理,一位师兄讲Arch包管理,我更加熟悉了Arch包管理的用法。

大学入学的时候还不太了解GNU/Linux,一年之后,我终于能熟练地使用这个系统。我觉得以下几点对我的技术提高有很大的影响:

因此,根据我的自身经历,我对GNU/Linux初学者的一些建议是: