译自:https://github.com/yupengfei/Essay/blob/Post_v1/%E8%87%AA%E7%94%B1%E4%B8%96%E7%95%8C%E7%9A%84%E5%9C%B0%E5%9B%BE.mkd
作者: じòぴé→尐俽 , PHILO, 服部半藏
作者:じòぴé→尐俽 , PHILO (@看见微软我就跑), 服部半藏(@服部半藏ly)
大神们凭借他们的远见卓识和不懈努力,创造了广袤的自由世界,我们希望提供一张经过验证的地图,让新接触自由世界的人可以免于无谓的迷茫,又不至于过于详细而失去探索的乐趣。文中所列技能可能需要点亮前置技能才可学习,我们会尽可能的指出,另外,本文后出现的技能可能依赖前面的技能。
我们竭力使本文完善,如果有需要修改的地方,请提交补丁,我们会尽快合并。作者们怀着慢慢的善意,写下这篇文章,并不代表他们自信自己无所不知、对未来的每一项预见都是正确的,我们希望你不迷信本文的任何一个字,包括华丽的分割线。
当然,如果您再学习的路上感觉比较孤单,也可以加入到我们这里加入我们共同探讨,共同进步。提出意见,改良文档。群:55958311
本段主要讲解Ubuntu基本操作和计算机相关的基本知识,看完之后应该满足日常使用,如上网、听音乐等。
尽管有这样或者那样不实的传闻,说Ubuntu如何简单,Linux如何高端,开源精神如何伟大,软件的自由对人类的自由如何重要。但是作为用户,更应该关心软件是否丰富,日常使用的主要还是QQ、Office、中文输入法、LOL等工具,这些在Ubuntu之下都没有良好的解决方案。所以,目前Ubuntu只适用于研究人员和程序员。
土豪君,如果你想买一台新的笔记本电脑,建议选择配置:
如果你已经有一台电脑,希望你有
CPU根据型号不同,通常分为32位和64位,2005年之后的CPU一般都是支持64位的,64位的CPU可以管理4G以上的内存。如果你的电脑内存不足4G,建议选择32位版本的操作系统,否则应该使用64位的。
虽然4g以上的Linux系统可以使用PAE内核来实现更高的内存容量兼容,但是性能是关键,如果您运行的关键程序是32bit的并且必须在32bit平台上运行这种情况下建议选择,否则可以通过安装32libs来实现程序的运行。
Linux是操作系统的内核,搭配不同的软件包、桌面环境,才可以制作成为现代意义的操作系统。我们推荐最新的Ubuntu桌面版,理由如下
如果你是服务器用户,我们推荐最新的Ubuntu服务器版,理由如下
操作系统的安装并不简单,在电脑城价值50到100人民币之间,如果你只有一台电脑,希望安装双系统,就更困难一点。
我们不推荐用户靠自己摸索如何安装操作系统,这是一项过时非常快的技术,不值得投入大量的时间。我们推荐的安装方式有
我们不推荐的安装方式有
PS:在另外一种情况下虚拟机是被推荐的,并且推荐Virtual Box。
非生产环境服务器 没有安装图形界面 学习比较复杂的环境配置 学习硬盘管理
截止到这里我们假设你已经安装好了操作系统,并顺利进入了界面,如果没有,请认真审视操作系统安装中建议找别人帮忙那一条。
我们不推荐命令行,除非你对操作系统很熟悉并且知道你在干嘛。尤其不推荐从百度随便贴几行命令,然后执行管理员权限,多数情况下,你会毁掉操作系统。
截止到这里我们假设你已经安装好了操作系统,并且顺利的进入了桌面。(没错,这是前置依赖的声明)接下来让我们连上互联网吧。
FAQ(我们经常回答的问题)
截止到这里我们假设你已经连上了互联网。
软件源是一个放着各种各样软件的服务器,我们需要连上它,从上面下载一个列表,列表里面记载着它上面有哪些软件。现在,点击左侧面板的软件中心的图标。打开编辑菜单,找到最下面的软件源菜单,打开,在弹出的页面中选择一个国内的源,并且把其它软件列的勾全部去掉(因为我们在天朝,有些服务器连不上)。该过程可能需要输入密码,原因继续往下看。
之后,软件中心就会多出一个Progress的图标,表示正在下载软件列表,该过程中如果发现错误,可以尝试在终端(点桌面左上角那个写轮眼图标,在弹出的框里搜索,跟Mac的Finder很相似)执行
sudo apt-get update
查看错误信息。
FAQ:
截止到这里我们假设你已经设置了软件源并且下载了软件列表。接下来,会弹出提示,让你安装语言包。你也可以在设置,语言里面安装。
在下载软件列表之后还会提示你安装更新,实际上,Ubuntu会定期的从你配置的软件源下载软件列表,然后跟本地版本对比,看是否需要更新。你可以执行
sudo apt-get upgrade
手动完成
截止到这里我们假设你已经安装完系统更新,如果你可以顺利的连上无线网络,并且没有独立显卡,可以跳过本段。
打开软件中心,找到编辑菜单,软件源选项,然后打开,在弹出的页面中找到附加驱动,选择经过验证的(后面会标明tested)驱动,安装。
FAQ:
截止到这里我们假设你已经开机并且安装了语言包。
推荐的输入法有两种:
截至到这里我们假设你已经连上了互联网并下载了软件列表。推荐的软件方式有
其它的安装方式:
参考前提:您是新手
截止到这里我们假设你已经安装了输入法。我们推荐的文本编辑器有
vim,在软件中心搜索vim即可安装,使用方式参考《a byte of vim》,该书对vim的讲解非常详细,后半部分可能有些过时。还可以参阅vim自带的手册,在终端输入
vimtutor
我们推荐的浏览器有
chrome,内置flash播放器
firefox,系统自带,具有更好的扩展性,界面跟Ubuntu更搭
我们推荐的音乐播放器有
目前可用的支付方式有
ubuntu对常见的格式支持的非常好,双击即可打开压缩文件,如果缺乏对应的库系统会提示安装。
推荐的磁盘管理工具有
推荐的Office工具有
推荐的图片编辑工具
推荐的3D制作工具
QQ长期不支持Linux,推荐使用
不太推荐的有:
FAQ:
极度不建议。 原因:不稳定
Ubuntu软件丰富(仅仅对开发者和研究人员而言)
本段包含一些进阶的操作,我想普通用户并不太需要这些。
Ubuntu默认的不是管理员权限,执行安装软件等操作时需要输入你的密码。
在软件中心有一个更强大的包管理工具,非常不建议小白使用,尤其是处女座。
建议使用软件:
只需要看一眼常用命令就行了,百度一大把。
主要分为automake的安装参考大神文档 另外最近还有一个cmake火起来了。参考大神文档
本段写给有志于讲编程作为全职工作或者工作中大量使用编程的人。不同语言之间没有明确的依赖关系,同一种语言书目之间有从易到难的关系。
得益于上个世界对语言的研究,人类发现不需要使用机器码(010101010001)编程,可以使用类似于自然语言的人造语言编写程序,然后经由计算机翻译成机器语言。根据不同的人爱好不同,语言经常被分为强类型、弱类型,解释型、编译型,对象导向的、过程导向的、函数导向的等等。这些语言相互影响,相互学习,每几年会有一个新的标准(比如C++99和C++11差异就非常大)。
我们建议你多学几种(这个就跟恋爱一样,只有初恋比较青涩,之后越来越顺,一马平川,虽然女孩子分为很多类型),一方面,在不同的场景你需要不同的女孩子,啊,不,计算机语言(比如操作系统用C写,网页交互用JavaScript)。另一方面,特定的计算机语言本身限定了你的表达方式,多了解它们的区别有利于打开思路。
很多编程的教材都类似于五步画马法,我们更希望提供适合自学的,没有各种各样的坑,不需要丰富的想象力脑补就可以学会的书单。
C语言经历了漫长的演化,现在的它已经不是以前的样子了,但是它仍然适合做你的第一或者第二任女友,啊,不对,计算机语言。所有C语言已经42岁了所以已经不是女神了的思想都是异端邪说。
我们推荐的书:
Python简单易用,非常适合带来你的初吻,啊,不,跟计算机的第一次接触,但是有两个非常不一样的标准,python 2和python 3,鉴于本文写于2014年中旬,我们推荐python 3。
我们推荐的书:
我们不推荐的书:
在有了基本的语法之后,我们仍然需要一种方式把基本的语法组织在一起解决实际问题,这时候你就需要算法了。
我们推荐的书:
我们不推荐的书:
世界上本没有这种程序的写法,写多了也便有了这么多种设计模式。
本段假设你已经会基本的C语法(但是C和C++是两种不同的语言),C++的程序员很贵,因为它非常复杂,在看完以下书单之前,我们不推荐你在简历上写“精通C++”。
我们推荐的书:
Java是一门用途广泛的语言,当然本次我们只针对java语言来说,没有针对web跟安卓来讲。
我们推荐的书:
我们不推荐的书:
Golang是google推出的服务器编程语言,对多线程支持非常好。
我们推荐的书(其实写的都不是特别好,只是目前可以找到的书非常少):
我们不推荐的书:
JavaScript是Html5钦定的脚本语言,在后端也有广泛的用途。
我们推荐的书:
我们不推荐的书:
git是一个强大的分布式版本管理工具,功能强大。
我们推荐的书:
每天都有很多新手发问,我想深入学习一下Linux,需要看哪一方面的书,有人会推荐一本厚厚的命令手册,我更喜欢推荐操作系统的书。
我们推荐的书:
我们推荐的书:
受作者的领域所限,推荐的数据库类型非常少,欢迎补充。
我们推荐的书:
我们推荐的书:
编译原理虽然日常工作用不到,但是看完了可以知道计算机语言怎么变成机器语言的。
我们推荐的书:
我们推荐的书: