学习Linux之前需要掌握编程能力么?
英文原文:Do you need programming skills to learn Linux?
几个月前,我开始在 edX(edX 是麻省理工和哈佛大学于 2012 年 4 月联手创建的大规模开放在线课堂平台)上学习 Linux 入门课程。
这门课程一共 18 章节,通过大量的阅读,视频资料以及一些不定期的能力测验来巩固知识。在我的博客”What happens when a non-coder tries to learn Linux“(非码农学习 Linux)一文中我写了前 6 章节的内容以及如何学习这门课程。这篇文章涵盖了这门课程的前 6 个章节的内容,讲述了 Linux 的一些使用方法。
关于这门课程
这门课程提供了 Linux 入门的实践性的指导,讲述了一些常用的命令行。虽然这些内容不是很难理解,对有些人来说是比较陈旧的,但是对于刚入门的学生来说,他们能很好的理解命令的用途与用法。
在这些章节中,我发现我太依赖于 Google 了,对于某些知识点的概念,如果我在编程课程中已经遇到过,能够更自然的理解。以下是课程的部分知识点:
- Linux 文档
- 文件操作命令与文件系统
- 读(r)写(w)执行(x)
- 可执行二进制文件是什么
- 用户环境 su,sudo
- !! bang-bang(不清楚)
- 文本编辑器:vi 和 emacs 的使用介绍
- 密码与本地安全策略
- 网络命令
- ping
- 命令行,命令执行通常比 GUI(图形用户界面)更高效
- wget(wget 是一个从网络上自动下载文件的自由工具)
如果上面有很多你不知道的术语,别担心,这门课程会告诉你。在我的 Chromebook 上安装 Linux,我的主要目的能够对 Linux 有一个更高水平的理解。其实我不需要安装 Linux,但是想安装一次(译者注:很好的动手意识),在开始第 7 章前,我还是安装了一次。
通过实践达到学以致用的目的。我在网上找了篇 Lifehacker 的关于使用 Crouton 安装 Ubuntu 的快速入门教程,
通过教程安装 Linux 相当简单,基本就是在命令行上输入一些命令设置 Linux。NetSurf 是默认浏览器,于是我尝试着安装一个火狐。
几次安装失败之后,突然茅塞顿开,原来要用 sudo 来运行安装命令。sudo 是 linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具。
安装好系统之后,我开始了第 7 章的学习,阅读材料上写着,无论你是菜鸟还是大神,你都不需要记住所有的 Linux 系统命令。这令我欣慰,可以少死些脑细胞了。
我边看教材边摆弄我的 Chromebook。由于大脑短路,在自定义 Linux 设置上,我僵持了一个小时,然后看书解决。这篇文章帮我调整了字体并且帮助我安装了一些必要的应用软件。
这是一门非编程人员的课程么?老实说,这并非是一门让非编程人员更好理解 Linux 的课程。这门课程更适合作为爱好编程者的入门教程或者是对 Linux 不太熟悉的大神们的参考手册。很多章节都相当详细并且过于专业。
总的来说,如果有编程的基础知识对于学习相当有益 ,比如至少学习过一门编程语言。好吧,我应该修正我上述的观点。这们课程可以适合非编程人员,编程可能并不是我们的工作或者兴趣,但是这门课程可以作为刚 学了计算机科学或者编程语言之后的后继课程。于是,我继续学习这门关于如何安装和自定义 Linux 桌面的 Linux 专业课程。
如果你是非编程人员并且对这门课程有兴趣,那么就学吧。Why not。这是免费的,由专业人员出品。有时候,你投入的越深,学习的越快。带着几分感觉能掌握的心态继续学习,尽管我还是只字半解。
这种心态在两个方面帮助了我。一方面是,有时候你要做的就是先把知识理一遍,如果不懂,你可以在看一次, 再做些测试(题海战术),读书百遍其义自见。但是,假如真的遇到困难,那就找方法去克服。因为我就是这么做的,于是我收获了很多。另一方面,我确实有所领 悟。这让以前做的事情都变得更有意义。总之,无论你是谁,什么水平,丰富知识以提高你的创造力。