用树莓派学习Linux及Python真的高效吗?

作者 | 地球的外星人君 知乎https://www.zhihu.com/question/54825393

建议放弃这个想法。

工具只是工具,学习靠的是人。

为了打消这个念头,本文详细解释一下原因。

首先,树莓派是什么?

树莓派是一种便宜的卡片式Linux电脑,风靡全球。它是世界上众多廉价又成熟的电脑之一,只要35美元,而且十分容易上手。 树莓派能替代日常桌面计算机的多种用途,包括文字处理、电子表格、媒体中心甚至是游戏。并且树莓派还可以播放高至1080p的高清视频。

树莓派有成千上万种玩法,但常常有些人心血来潮买了树莓派后,却突然不知道自己要用它来做什么了。

树莓派能用来做啥?

电脑能做的大部分事情,在树莓派上都能做,而树莓派以其低能耗、移动便携性、GPIO等特性,很多在普通电脑上难以做好的事情,用树莓派却是很适合的。

树莓派更多的用来做如下的事情:

用树莓派打造一个家庭影院

把树莓派配置成无线路由器

用树莓派搭建BT下载服务器

拿树莓派当FTP文件服务器

在树莓派上搭建代码托管服务(SVN)

对于培养动手能力大有裨益,但是具体学习Linux和Python,可以说并不适合。对Linux初学者来说,比较重要的几点:

1. 选择适合自己的Linux发行版

谈到Linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,Linux正在变得越来越流行,面对这么多的Linux 发行版,打算从其他系统转到Linux系统来的初学者可能会感到困惑,即便是忠实的 Linux 用户也没有时间和精力去挨个尝试,因此初学者在学习Linux的之前,需要有一个明确的方向,选择一个适合自己的系统开始学习Linux至关重要!

2.养成良好的linux操作习惯

当你进入Linux的学习之后,请不要用windows的工作方式来思考问题,因为它们之间确实有很大的不同,比如它们之间的内存管理机制,进程运行机制等都有很大不同,这些异同点将在下面章节陆续讲述,因此,抛开windows那种思维,用全新的理念尝试去挖掘linux身上特有的潜质,对初学者至关重要。

3. 习惯命令行方式

Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平,命令行方式的操作永远是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作都离不开命令行。虽然Linux也有桌面系统,但是X-window也只是运行在命令行模式下的一个应用程序。

因此,可以这么说,命令是学习Linux系统的基础,学习Linux,很大程度上就是学习命令,很多Linux高手其实都是玩儿命令很熟的人。

4.理论结合实践

有很多初学者都会遇到这么一个问题,说到系统的每个命令,都很熟悉,但是在系统出现故障的时候,面对出现问题的Linux系统无从下手了。不知道在什么时候用什么命令去检查系统,这是很多linux新手最无奈的事情了。说到底,就是学习的理论没有很好的与系统实际操作相结合。

很多Linux知识,例如每个命令的参数含义,在书本上说的很清楚,看起来也很容易理解,但是一旦组合起来使用,却并不是那么容易,没有多次的动手练习,其中的技巧是无法掌握的。

5.学会使用Linux联机帮助

主流的Linux发行版都自带了非常详细的帮助文档,包括使用说明和FAQ,从系统的安装到系统的维护,再到系统安全,针对不同层次人群的详尽文档。仔细阅读文档后60%的问题都可在这里得到解决。

6.学会独立思考问题,独立解决问题

遇到问题,首先想到的应该是如何自己去解决这个问题,解决方式很多,看书查资料,网络搜索引擎,技术论坛等等,通过这几种方式,90%的问题都能得到解决,通过这种方式一方面锻炼了自己独立解决问题的能力。另一方面技术上也能得到快速提高。

7.由低至高,循序渐进

到这里,Linux的学习路线图,仅给初学者作为参考。

初级阶段:

1.命令是必须要学的,Linux常用的命令大概在80个左右,这些常用命令一定要熟练掌握。

2. 掌握Linux软件包的常用安装方法,例如源码安装,rpm方式安装等等。

3. 学习安装设备驱动程序(比如网卡、显卡驱动)

4. 熟悉Grub/Lilo引导程序及简单的修复操作。

5. 熟悉Linux文件系统和目录结构以及linux基本运行原理。

6. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器。

7. 理解Shell别名、管道、I/O重定向、输入和输出以及shell简单脚本编程。

8. 学习Linux环境下的网络基本组建。

高级阶段:

1:尝试阅读Linux内核源码:

2:尝试编译安装和调试自己的Linux内核:

在阅读源码了解了Linux底层的运行原理后,完全可以编译一个适合自己的Linux系统来。

3:深入学习Shell, Perl,CGI等脚本语言:

这些脚本语言在Linux下非常强大,它们能完成你想做的任何事情,熟练掌握这些语言,可以让你在Linux系统下游刃有余,如鱼得水。

4:构建企业级Linux高可用集群系统:

Linux下有很多开源免费的集群软件,利用这些免费的集群软件完全可以构建出与商业unix系统想媲美的集群系统来。

Python学习的几个阶段:

第一个阶段:初级,掌握Python的语法和一些常用库的使用

第二个阶段:中级,掌握自己特定领域的库,掌握pythonic写法,非常熟悉Python的特性

第三个阶段:高级,从整个工程项目着眼,考虑document,distribution,性能优化等

无论是Linux还是Python,工具只是工具,学习靠的是人

学习过程对于硬件都没什么要求,对于知识的掌握才是核心。理论上用树莓派学习当然可以,但对于初学者来讲,特别是Linux相关的不够熟练,还是不太建议你是用树莓派来进行学习。

树莓派是一个很需要DIY能力的“玩具”,非常酷炫,机具创造性但对于入门学习几乎没有什么帮助特别是对于Python,即使Windows环境也完全不会影响你的学习。

记住:在未入门之前,应该尽力去降低自己的学习难度,而不是为了好玩或者其他原因,来凭空给自己的学习道路增加许多麻烦。

你有什么好玩的树莓派玩法,欢迎评论里面交流哦~

觉得本文对你有帮助?请分享给更多人。

原文发布于微信公众号 - 程序员宝库(chengxuyuanbaoku)

原文发表时间:2018-02-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

选个“靶子”练练手:15个漏洞测试网站带你飞

俗话说进攻是最好的防御,而这与信息安全世界并没有什么不同。通过这15个故意存漏洞网站来提升你的黑客技能,你会成为最好的防守者——无论你是一名开发人员、安全管理者...

40570
来自专栏听雨堂

微信小程序开发及相关设置小结

今年过年,主要看了《奇葩说》和《电锯惊魂》,很不错,好东西的确需要留出足够的时间来看,匆匆忙忙走马观花是对作者的不尊重。除此之外,就是研究了一下微信小程序开发,...

28890
来自专栏美团技术团队

美团酒旅实时数据规则引擎应用实践

83790
来自专栏编程微刊

自媒体运营技巧:如何成功申请今日头条号?

3.8K30
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合进阶篇(七)一次线上Mysql数据库崩溃事故的记录

作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载。 文章简介 工作这几...

38540
来自专栏Timhbw博客

Mac开发必备软件-SimPholders

2016-10-2400:54:32 发表评论 321℃热度 趁着1024程序猿的节日,今天抽出一点时间来分享一些好东西,分享一些比较好的软件,方便广大程序猿...

45260
来自专栏FreeBuf

揭秘:Windows10预览版监视你一举一动

本月初微软在美国旧金山为其新版Windows系统举行了一场发布会,会上微软正式了宣布新一代桌面操作系统为Windows 10,居然直接从Windows 8跃迁到...

20890
来自专栏Linyb极客之路

三个简单要素让你的微服务更有弹性

 建立一个分布式微服务系统的优点是能够应对承受故障发生以及弹性使用网络资源,弹性的定义很简单,如果传统的monolith发生故障,里面的一切就不能运行了,而微服...

15820
来自专栏Java后端技术

分布式架构之美~

​  我们都知道,当今无论在BAT这样的大公司,还是各种各样的小公司,甚至是传统行业刚转互联网的企业都开始使用分布式架构,那么什么叫分布式架构呢?分布式架构有什...

29510
来自专栏喔家ArchiSelf

面向IoT的协议选择思考

对于使用传感器和保持连接性的IoT系统而言,如何使用这些元素和多种互联网技术相结合呢?

49260

扫码关注云+社区

领取腾讯云代金券