我的Linux学习之路及参考书籍
学习目的
很简单的考虑,最近在各大招聘网站上找工作,发现多数c/c++开发职位都需要Linux开发经验,让我很苦恼,因为Linux我到目前为止知之甚少,知道Linux的概念,也在大学期间了解过一段时间,但是没坚持住,放弃了。到现在我能在Linux下用的只有GCC、C++、SDL、FFmpeg,为了一个更好的职业道路,近期准备投入点精力:
- 了解下Linux,并能够用Linux完成c++软件开发工作。
- 学习开源的思想和商业运作模式。
说了这么多,先记录下我近期了解到的内容。(2015-09-19)
通过查找网上关于Linux的介绍资料,最起码我先回答我的学习Linux初衷在哪里。
Why? 为什么要学习Linux? Linux能做什么?
为什么要学习Linux?
为什么学Linux,每个人都有自己的理由:
- Linux是免费的不用花一分钱,能够节约大笔的成本;
- Linux是开源的,你可以根据自已的需要修改源代码;
- Linux是开放的,有广泛的社区,关于Linux的讨论要远远高于windows操作系统;
- 学习Linux可以更好的掌握计算机技术;
- Linux是未来发展的趋势,服务器,手机,掌上电脑,平板机很多都采用Linux操作系统;
- Linux有非常多的发行版本,你可以根据需要做出不同的选择;
- Linux让你多了一个选择,而且Linux下的病毒相比Window可以忽略不计;
- Linux是一种自由哲学,一种开源的信仰;
- 最后Linux很好玩,让人着迷……。
Linux能做什么?
- 世界上最快的超级计算机90%以上都使用Linux或类似操作系统,说明Linux速度快;
- 而且简装的Linux(如LFS)估计也是特别适合老机器了;
- 如果你听说过Android的话,你就会知道Linux将广泛应用于平板电脑和手机;
- 如果你体验过Chorme OS,Google doc,或者WebQQ的话,你会觉得操作方式有点仿Linux;
- 还有很多软件一般都是现出类-Unix版本,然后才出Window版本;
- Linux下很多软件都是跨平台的,反之Window则不是;
- Linux在Web上的优势,也将会在WebOS,云时代得到充分迸发……。
以上内容参考Linux学习进阶路线图。
How? 怎么学习Linux?
为了回答这个问题,百度了下Linux的学习路线,都是大致的,从来没有人说有正确的路。那好吧!按照我学习计算编程的路线开始,简单点:
- 了解现有的Linux发布版本及主要生态系统;
- 找一本入门书籍,选择一个Linux版本,了解Linux操作系统的安装和使用(文件管理、I/O、网络配置、软件安装);
- 学习并理解Linux提供的文本编辑、编译、调试、并发机制、网络编程、多媒体接口、shell
- 不断重复实践与应用……
- 谨记学习的目的是解决问题,而不是遇到问题就停止了。
查找资料的时候看到一句话,记得比较清楚,“你可以在Linux下完成除了游戏娱乐之外的所有功能”。当然,Linux也有其缺点,这个慢慢总结,知道就好。我一直信奉一句话“择其善者而从之,择其不善者而改之”,善用工具,扬长避短,当你达到“知其然,知其所以然”的时候,就可以了。
Where? 量化学习目标
不忘初心,方得始终。所以,不管我们知识面多么有限,记得给自己一个明确的、可度量的目标。我现在主要关注四个方向:
- c/c++/asm
- 音视频编解码、渲染
- 性能分析及优化
- 云计算、虚拟化、互联网
只有通过不断的学习和深入,才有可能在某个方向上有所突破和发展,目前的技术趋势也是这个样子的,写代码的人很多,但专业技术人员依然短缺。
参考书籍
注意本部分内容会按照我的学习路线持续、随时更新。
操作系统入门篇
鸟哥的私房菜:Linux基础学习篇(第三版)
要是可以联网的话,建议阅读网页版的,鸟哥的 Linux 私房菜 -- 基础学习篇目录,因为上面有大量的链接可以直接跳转,相对pdf的更加方便。
鸟哥的书偏重Linux系统管理,有兴趣可以看看。
有一点,台湾的英文翻译跟大陆这边很不同,概念上比较容易混淆。
"Running Linux" 《LINUX权威指南》
书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。目前可以找到的比较多的是第三版的,还有第四版、第五版英文版的。(2000年-2005年的书籍,版本有些过时,但是内容可以借鉴)
“The Definitive Guide to CentOS” 《CentOS权威指南》
CentOS官方第一本关于CentOS 5的介绍书籍,内容跟Running Linux差不多,就是针对CentOS平台上介绍。(只找到英文版的,中文版的没看到)
《Linux入门很简单》
刘金鹏著,基本介绍内容跟前面的基本差不多,不过是中文版的,特别推荐最后一部分关于GCC、GDB、configure、autoconfig的比喻,非常恰当,也让我整清楚这几个部分的关系。
《Linux从入门到精通(第2版)》
清华大学出版社,国内主推的Linux入门书籍,说实话,精通的内容很少,因为全书不到500页,却有29章,想想内容多数都是概述性质的,不过作为入门资料可以参考,了解大致框架,知道接下来从哪个方向突破。
遇到问题的解决方法
本部分内容会链接到我的其他文章,并简单归类。
- VirtualBox中安装CentOS-7问题说明
我的Linux学习之路及参考书籍相关推荐
- linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法
linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 参考文章: (1)linux学习之路--ubuntu 16.04 开机开启数字小键盘解决方法 (2)https://www. ...
- Linux学习之路(持续补充中......)
Linux学习之路 Linux的基础知识 第一章:Linux的概述以及系统安装及使用 第一节:简单了解一下Linux发展历史与历程 Linux是一种自由.开源的类UNIX操作系统. linux 的创始 ...
- 高人指点 linux 学习之路
博客的原创之路艰辛,小女子对创作人心生崇敬,转载是为了起步,从转载开始,过渡到有胆识和见识写自己的话吧,加油! Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为 <linux_de ...
- linux 的基本命令格式,Linux学习之路(一)命令基本格式
据统计Linxu里面能够识别的命令超过3000个,而我们常用的Linux基本命令在60个左右.常用命令是我们必须掌握的命令,需要我们多练习才能记住,最起码要敲3遍以上. 简单的把常用命令分为以下几大类 ...
- linux 学习之路
很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...
- Linux学习之路01
决心开始学习自学Linux,以前混迹贴吧,现在觉得自己开始写一下博客,记录一下自己的学习之路,同时也是希望自己算是自己自学动手练习的记录吧. -- 题序 登录SSH服务 新建一个hello.c文件 # ...
- PHP开发者的Linux学习之路
谈起一个高效动态网站的构建,那就不得不提到LAMP,即Linux操作系统.Apache网络服务器.Mysql数据库.Perl.PHP或Python编程语言等开源产品所组成的网站架构框架,其最大的优势是 ...
- 我的Linux学习之路(纯小白)
说在前面:感激赏识我的人们,谢谢你带我入门~~~~满怀感恩,出发~~~ 第一部分:学习资料(书籍和B站上的Linux视频) 目前在看的几本Linux书籍: 1.Linux就该这么学-刘遄 网址:htt ...
- ”linux学习之路” (感觉写的很好,更像是网络编程学习路线图)
转:https://www.oschina.net/question/587367_156024 很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀 ...
最新文章
- 监控服务器已断开正在自动重连,远程服务器已断开与发送连接器的连接
- 读取文件:TypeError: an integer is required (got type str)
- python数据科学实践指南_《Python数据科学实践指南》——导读-阿里云开发者社区...
- shiro 角色与权限的解读
- windows 笔记本连接公共wifi不弹出登录页面的处理办法
- 95-10-020-启动-初始化ZK
- script标签中defer和async的区别
- join(long)与sleep(long)的区别
- 【爱你 祖国】细看我国智能无人机如何从无到有?都是被逼出来的!
- Java容器Set接口
- 树莓派命令行发送邮件
- 华为交换机重制_华为交换机如何初始化?华为交换机初始化配置-百度经验
- java生成word文档 图片_java根据模板生成word文档,兼容富文本、图片
- 知识图谱在应用过程中,主要面临哪些困难?
- 正则表达式在shell中使用的方法与案例
- 产品经理必会的10种数据分析方法
- Agilent安捷伦81150A脉冲信号发生器 信号源
- NASA成功撞击1100公里外小行星!人类史上首次,主动避免恐龙覆辙,马斯克亦有贡献...
- 周鸿祎谈如何写一份好的商业计划书
- 「JanusGraph」图形数据库 - 技术选型调研
热门文章
- SolidWorks2020报错:solidworks无法获得下列许可standard,solidworks flexnet无法启动,启动失败
- 责任链模式Java+Spring实现
- apache-tomcat环境配置
- Python之while函数
- 2022网络教育计算机统考-文字处理操作题
- Doc2Vec的一个轻量级介绍
- 1.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- python的运维开发课程_Python自动化运维开发实战课程方案
- layui+python 使用传图功能
- 华硕ts10linux,迷你电脑主机-华硕 Vivostick TS10口袋电脑二代_硬件测评心得_ZNDS