本科理工男如何学习Linux
我是一个本科学电子的理工男,但是一直对计算机感兴趣,所以平时自己在课下喜欢学一些与计算机有关的东西。由于对计算机感兴趣,所以后来我参加了学校的计算机社团,在那里接受一些培训和指导。当时在社团里看到师兄在弄Linux,我这才接触到了Linux。不过当时只知道Windows系统,并不知道除了Windows,世界上还存在其他的操作系统。所以就很好奇,并在师兄的指导下,在电脑上装了个系统,便开始了一番探索,当然开始也是很迷茫的,也走了一些弯路。
接下来我就浅谈一下如何学习Linux,当然我也是个初学者,所以哪里有不对的地方,还望指正。
首先,应该为自己创造一个学习linux的环境--在电脑上装一个linux系统。由于Linux发行版众多,但是大同小异,所以我们首先找到适合我们的版本。所以下面我将为你介绍几款十分流行的Linux发行版本,希望对你的选择有所帮助。
Debian运行起来极其稳定,这使得它非常适合用于服务器。Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Redhat是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。Arch是一款采用滚动发行方式的操作系统:只要安装一次就够了;每当发行了某个新版本,就可以升级发行版,不需要重新安装。OpenSuse这款Linux发行版是免费的,并不供商业用途使用,仍然供个人使用。此外还有很多出名的发行版本,不再列举。原则是:我们没有必要把时间浪费在"装系统"上而应集中精力学习最有用的东西。如果你并不打算深入学习linux,而是只是想像使用Windows一样进行日常的办公还有娱乐等,那么国内的优麒麟,红旗、deepin等中文linux操作系统同样是不错的选择。
好了,以上就是我对操作系统的推荐。下面你需要做的就是安装属于你的Linux操作系统了。我强烈建议:自己亲自动手把linux装到你的硬盘或者虚拟机上,你必须学会独立安装linux系统的技能。虽然第一次安装Linux会遇到很多的问题,而且安装过程中为有很多地方都不懂,但是你一定要亲自动手尝试安装。你可以去网上找一篇文章跟着安装,如果哪里不懂或者不知道怎么做,你可以通过百度来解决问题,总之, 你一定要学会安装Linux系统。当你第一次安装成功后,你会发现你特别有成就感,并且你会在安装过程中学到很多东西。
等你安装完Linux系统后,真正的学习就要开始了。我们应该掌握至少50个以上的常用命令:
- 理解shell管道"|",文件流重定向">"及追加">>"等;
- 熟悉Gnome/KDE等X-window桌面环境操作;
- 掌握.tgz.rpm.biz等软件包的常用安装方法;
- 学习添加外设,安装设备驱动程序(比如modem);
- 熟悉Grub/Lilo引导器及简单的修复操作;
- 熟悉系统固有目录的名称及学会用mount命令访问其他文件系统;了解vi,gcc,gdb等常用编辑器,编译器,调试器学习linux环境下的简单组网。
个人建议:买一本不需要太厚的linux教材,大致可以满足要求。(现在的书越来越多了,还带很多图,我当时可没这么多书:)这里我要推荐一本我入门时候学习Linux的书籍《Linux就该这么学》。这本书在我看来,是你入门Linux的绝佳选择。可以让你很快的就上手Linux系统。我本人就是看着这本书一点点从入门到精通的。
后续我们需要学点高级的了。比如shell编程。shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上这也是Linux中的一个重要思想。
接下来,如果你决定深入学习Linux的话,我个人理解的读linux内核需要的基础:在此之前,希望先把应用层的东西学一下,那样会比较好理解。
首先我建议你学C语言,如果学过潭浩强的大学教科书,然后再去看《C Primer plus》,建议再看一下《The C Programming Language》,《C陷阱与缺陷》,《C专家编程》,《C\C++深层探索》等等。反正经典书看多了是没有坏处的。然后开始看数据结构(离散数学),这是计算机专业的核心课程,重要性我就不说了。接下来,我们需要学习操作系统原理和微机原理/组成原理,看懂这个再去读linux内核源代码吧,那时候你就会知道Linux是多么伟大的杰作了。