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

    转载自:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的Io ...

  2. AQS实现原理分析——ReentrantLock

    在Java并发包java.util.concurrent中可以看到,不少源码是基于AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是Java并发包的基础工具类, ...

  3. Codechef SUMCUBE Sum of Cubes 组合、三元环计数

    传送门 好久没有做过图论题了-- 考虑\(k\)次方的组合意义,实际上,要求的所有方案中导出子图边数的\(k\)次方,等价于有顺序地选出其中\(k\)条边,计算它们在哪一些图中出现过,将所有方案计算出 ...

  4. C#使用Json.Net遍历Json

    StringBuilder builder=new StringBuilder(); builder.AppendLine("{"); builder.AppendLine(&qu ...

  5. Mysql字段名与保留字冲突导致的异常解决

    一:引言 用hibernate建表时经常遇到的一个异常:Error executing DDL via JDBC Statement 方法: 查看报错sql语句.问题就在这里. 我是表名(字段名)与保 ...

  6. MyBatis-你所不了解的sql和include

    目录 <sql> 节点的基础 <include> 节点 <sql> 节点包含的节点 一起来学习 mybatis @ 在前一篇[MyBatis动态SQL(认真看看, ...

  7. 朱晔和你聊Spring系列S1E3:Spring咖啡罐里的豆子

    标题中的咖啡罐指的是Spring容器,容器里装的当然就是被称作Bean的豆子.本文我们会以一个最基本的例子来熟悉Spring的容器管理和扩展点. 阅读PDF版本 为什么要让容器来管理对象? 首先我们来 ...

  8. en

    发音,这个应该算是学习英语的头等大事,如果没有机会和条件练好发音,也可以先将就着,不过后面你就会感觉到你说的人家可能会听不懂,我自己也曾经深受其害. 基本常用单词积累(大概2000~4000左右的词汇 ...

  9. 我的微信小程序第二篇

    在上一篇<我的微信小程序第一篇(入门)>中,很多人问我什么是微信小程序,在这里我要说一下这个是我的失误啦,我默认大家都知道微信小程序,其实可能行内人士都知道小程序,好多非行内朋友可能平时不 ...

  10. Python类与对象的理解

    注意python的类对象与实例对象的区分 类对象与实例对象是相对的,例如:a=1,那么a就是int的一个实例对象,这里的a相对于int来说,a是实例对象,int是类对象.但是int同时又是type的实 ...