我是一个本科学电子的理工男,但是一直对计算机感兴趣,所以平时自己在课下喜欢学一些与计算机有关的东西。由于对计算机感兴趣,所以后来我参加了学校的计算机社团,在那里接受一些培训和指导。当时在社团里看到师兄在弄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个以上的常用命令:

1.   理解shell管道"|",文件流重定向">"及追加">>"等;

2.   熟悉Gnome/KDE等X-window桌面环境操作;

3.   掌握.tgz.rpm.biz等软件包的常用安装方法;

4.   学习添加外设,安装设备驱动程序(比如modem);

5.   熟悉Grub/Lilo引导器及简单的修复操作;

6.   熟悉系统固有目录的名称及学会用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是多么伟大的杰作了。

本科理工男如何学习Linux的更多相关文章

  1. 本人亲身讲解本科期间学习Linux系统过程

    学习Linux也有一段时间了,回首这段时光,既迷茫过也既充实过.当时刚接触Linux是在大学,身边的同学都在学习,我想我也该学点一技之长了.我本科并不是计算机专业的,关于软件的课程也就只有C++,所以 ...

  2. 我是如何学习 Linux 的

    为何要学习 Linux? 这个问题可能困扰着很多 Linux 初学者和爱好者,其实我也说不上来为何要学习 Linux,可能最实在的理由就是—-Linux 相关工作岗位很多.在“见到” Linux 的第 ...

  3. 聊聊大学期间的我是怎样学习Linux系统的

    高考成绩并不是那么的理想,本科是个普通的二本院校,来到学校之后,整个人其实很迷茫,当时对大学的专业真的是一点都不了解,也不知道自己对哪方面感兴趣,最后选择的专业是电子方面的,其实当时选择专业的时候对电 ...

  4. 我在大学毕业后学习Linux系统的心得经验

    扣着手指头一算,自己已经毕业快半年了,这半年莫名其妙进外包圈子溜达了一圈,有幸退的早还是正常干一些事情吧,外包终究不是太适合刚入社会的毕业生,今天想把自己的学习和工作经验写成一篇文章,希望能够帮助到正 ...

  5. (转)学习linux的几本书

    成为一名精通 Linux 程序设计的高级程序员一直是不少朋友孜孜以求的目标.根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍.Java 程序员的 2 ...

  6. 转:学习linux驱动经典书籍

    Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为<linux_device_driver 3rd Edition>,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本 ...

  7. 学习Linux让我进入了知名企业 原

    说起我学习Linux的原因是多方面的,大学时我学的是物理学师范专业,有部分计算机课程,但我觉得这些课程没什么实际作用,我自己对计算机比较感兴趣,我利用业余时间学习了很多计算机技术.在大学期间我参加了很 ...

  8. 学习Linux让我进入了知名企业

    说起我学习Linux的原因是多方面的,大学时我学的是物理学师范专业,有部分计算机课程,但我觉得这些课程没什么实际作用,我自己对计算机比较感兴趣,我利用业余时间学习了很多计算机技术.在大学期间我参加了很 ...

  9. 学习Linux系统永远都不晚

    作为一名机械专业毕业的学生,两年的工作经历实实在在地教会了我如何认清现实,让当初那个对机械行业无比憧憬的少年明白了自己选择的路有多艰难.由于我的父母都是工人,所以我比其他同龄人能更早地接触到工业的魅力 ...

随机推荐

  1. 老王讲自制RPC框架.(一.前言与技术选型)

    (#)背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只 ...

  2. mysql--sqlalchemy.exc.IntegrityError: (IntegrityError) (1215, &#39;Cannot add foreign key constraint&#39;

    今天在使用mysql时遇到的问题,最后发现问题是,数据类型与外键数据类型不同,改正过来就没有问题了.

  3. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  4. Junit单元测试笔记

    什么是单元测试? 单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确. 单元测试目的? 执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致. 白盒测试和单 ...

  5. Timer定时任务

    // main方法 public static void main(String[] args) { timerEnter(); } // 设定指定任务task在指定延迟delay后进行固定延迟per ...

  6. win 2012 修改盘符

           开始--运行   diskmgmt.msc    ........

  7. 問題排查:System.BadImageFormatException: 未能加载文件或程序集“System.ServiceModel

    錯誤訊息如下: System.BadImageFormatException: 未能加载文件或程序集“System.ServiceModel, Version=3.0.0.0, Culture=neu ...

  8. OSX cordova+Ionic的安装配置

    0.安装前确定你的系统安装了node和xcode 1.cordova (1)安装cordova npm config set registry http://registry.cnpmjs.org s ...

  9. PHP - PHPExcel操作xls文件

    读取中文的xls.csv文件会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址:http://phpexcel.codeplex.com/ 1.读取xls文件内容 <?php // ...

  10. uva 11922 - Permutation Transformer

    splay的题: 学习白书上和网上的代码敲的: #include <cstdio> #include <cstring> #include <cstdlib> #i ...