学习 Linux 需要编程技能吗?

1 人喜欢这篇文章。
open source button on keyboard

Opensource.com

几个月前,我参加了 edX 提供的《Linux 入门》课程。这是一个 18 章的课程,包含大量阅读材料、一些视频,以及对你知识的非正式测试。我在《当非程序员尝试学习 Linux 时会发生什么》这篇文章中写了关于前六章以及课程运作方式的内容。在本文中,我将介绍课程的前 6 章,我们开始深入了解 Linux 的日常使用。

课程内容

该课程提供了关于“掌握” Linux 的实用指南,涵盖了一些最常用的命令。虽然这些主题并不难理解,对于一些用户来说可能已经过时,但对于新手来说,如果不很好地理解它们的目的和用法,很快就会迷失方向。

在本节中,我发现自己非常依赖 Google,并且我想知道,如果我已经在编程课程中遇到过这些概念,是否会更容易理解。

我们涵盖的一些主题包括:

  • Linux 文档
  • 文件操作和系统
  • 读取 (r)、写入 (w) 和执行 (x)
  • 什么是“可执行二进制文件”?
  • 用户环境 su 和 sudo
  • !! bang-bang
  • 文本编辑器:包含关于 vi 和 emacs 的非常详细的信息
  • 本地安全和密码
  • 网络操作
  • ping
  • 命令行:通常允许用户比 GUI 更高效地执行任务
  • wget

如果此列表中的某些项目对你来说看起来很陌生,请不要担心,因为课程中会涵盖它们。

在我的 Chromebook 上安装 Linux

我参加这门课程的主要目标是更好地、更深入地理解 Linux。我不必安装 Linux,但我想安装,所以在开始第 7 章之前,我安装了。我想测试一下我正在学习的一些东西,并且在很大程度上“学习就是实践”。

我找到了一篇 Lifehacker 文章,看起来快速且易于遵循。它指导我如何使用 Crouton 安装 Ubuntu。

这相当容易,只是过程中遇到了一些小问题,对我来说,这只是习惯于在终端中输入命令并学习如何使用和利用 Linux 的一部分。NetSurf 是默认的 Web 浏览器,所以我尝试安装 Firefox。在几次启动失败后,我意识到我需要 sudo

然后我开始了第 7 章。材料中写道:“无论你是经验不足的用户还是资深用户,你都不会总是知道如何使用各种 Linux 程序和实用程序,或者在命令行中输入什么。”当我继续学习时,我在材料和我的 Chromebook 之间来回切换,这让我感到安慰。有一次,我沉迷于调整和自定义我的新 Linux 设置一个小时,然后才回到材料。这篇文章帮助我调整了字体并安装了 Leafpad 和 Audacious 等程序。

这门课程适合非程序员吗?

总的来说,对于希望更好地、更深入地理解 Linux 的非程序员来说,这门课程 不是 一个合适的选择。

这门课程可能适合初级程序员,或者是不太熟悉 Linux 的经验丰富的程序员。有几章内容非常详细和具体。总的来说,具备一定的编程基础知识将非常有帮助。不仅仅是 基本 理解,而是 基础 理解——就像你在一生中至少参加过一门完整的编程课程所获得的那样。

所以,我想我会修改我的说法。这门课程也可能适合非程序员,因为编程可能不是你的日常工作或爱好,但这门课程最好在学习过计算机科学和编程入门知识之后再学习。这也是我计划接下来要学习的。所以,我会稍微退后一步,赶上进度。然后,我想再次前进,学习 Linux Academy 的这门关于如何安装和自定义 Linux 作为你的桌面的课程

如果你是一个对参加这门课程感兴趣的非程序员,那就去做吧。为什么不呢?它是免费的,由 Linux 基金会专业制作,而且有时候当你跳入深水区时,你会学得更快。我有点像我了解正在发生的事情以及材料在说什么,即使我只理解了一半。这在两个方面帮助了我。首先,在某种程度上,你需要 просто 浏览新的材料。你可以回去,重读,并重做测验,但是当势头真正需要站在你这边时,你必须找到一种方法继续前进并到达终点。因为我一直在前进,我也能够从大部分不熟悉的信息的广阔领域中收集到一些精华。对于我 确实 认识的东西和我以前 做过 的少数事情,它们变得更有意义了。

最后,无论你是谁,无论你的技能水平如何,都播放一些有助于激发创造性思维的音乐。如果你需要一些建议,请 ping 我。

User profile image.
Jen 领导着 Red Hat 数字社区团队的社区经理团队。她与丈夫和女儿 June 和 Jewel 一起住在罗利。

13 条评论

很棒的文章!我作为一个非程序员学习了 Linux。我一路走来,从其他愿意分享的人那里学习了编码和编写脚本。这就是我喜欢 Linux 和开源社区的普遍原因,乐于分享的精神。

这里的问题是,你用这样的文章来喂养反 Linux 的鲨鱼。
Linux 提供的是自由,让你走出微软和苹果创建的盒子,这个盒子说:“你应该只使用我们提供的软件或别人卖给你的软件。你太笨了,无法摆弄我们给你的 GUI 下面的任何东西。”
“它只是工作。它只是按照我们想要的方式工作,而不是你想要的方式,因为我们比你更了解。”

它是与生俱来的。先是 Linux,然后是 bash 脚本,……,也许还有一点 python,……

我认为你不需要成为程序员才能学习 Linux,但我确实认为你必须对计算机本身更感兴趣。用户如果满足于操作设备而不理解其工作原理,并且对它的工作原理没有真正的兴趣,就不会有动力去学习 Linux。就此而言,他们也不真正了解 Windoze。很高兴你想要学习更多。

我使用 Linux 已经超过 12 年了,但我一点编程都不懂。你不需要在安装和使用 Linux 之前阅读书籍。你不需要参加课程。你需要一个搜索引擎,一个 LinuxQuestions(或类似的)订阅,一些天生的好奇心和掌握足够方面的知识以使事情运行起来的愿望。如果你是 Windows “高级用户”,那么 Linux 将会很容易。
与 10 年前相比,现在的发行版更容易安装和使用。你可以安装和使用大多数 Linux 发行版,而无需接触命令行一次。

是的,你不需要懂编程也能安装 Linux。但我在这里谈论的是在笔记本电脑或台式电脑上 日常使用 Linux。为此,你 确实 需要接触命令行。如果你熟悉编程,命令行的入门门槛会降低。但是,也许有更简单的方法来加强这方面的知识?欢迎提出建议。

我也在慢慢学习 Edx.org 课程。它有很多阅读材料。

我碰巧在帮助一组非程序员学习 Python 编程。我们认为 codecademy.com 上的 Python 编程课程确实有助于降低入门门槛。它非常互动,而且非常注重实践。我们对两件事充满信心。首先,通过完成课程内容,我们将学会如何编程;至少是基础知识。其次,他们的课程设置方式让我们有信心我们实际上可以完成它!这很重要,因为有些学生尝试过通过书籍和面对面课程学习。

Codecademy 通过网站提供了一个很棒的学习环境。该页面内置了实时的 Python 解释器,侧面有一个小框显示代码的结果和语法错误。此外,这个学习环境还为课程内容内置了“智能”。它被编程了作业的详细信息。因此,它会检查你是否使用了作业中提到的变量,以及你是否按照指示使用了函数。

如果 Linux 基金会课程的内容能够在 Codecademy.com 环境中提供,那就太棒了。特别是关于如何使用命令行。

回复 作者 Jen Wike Huger

我一直对这门课程感到好奇,只是还没有抽出时间,所以我很高兴能“先睹为快”课程的涵盖范围和初步输入。

我认为你的问题说明了让人们开始使用 Linux 的艰难之路;要吸引所有人的经验水平、兴趣和能力。有些人需要真正轻松地入门,而另一些人则准备好跳进去并开始搞破坏(-呃,我的意思是探索系统;))。

苹果、微软和 Linux 在设计师开发的用途上都表现出色。一旦你走出这个“预先计划”的领域,事情就会变得棘手。但美妙的是,Linux 的入门门槛非常低;易于访问、资源丰富且文档更好。

我发现 Ubuntu 很方便让人们入门,因为它将重点放在学习“底层”知识上,而不是因为试图获得一个工作且可用的系统而感到沮丧。有时从“零”开始使系统工作可能需要进一步了解 Linux 才能理解正在发生的事情(或需要做什么)。

我也遇到过人们在运行 openSUSE 或 Fedora 时寻求帮助,对此我很高兴在命令行中,它们看起来和行为都相同(只有细微的差别)。我通常发现这些人更懂技术,但不一定是开发人员。

我已经多年没有使用 Crouton 了,我想知道在你的 Chromebook 上运行它是否比在基于 Intel/AMD 的基本系统上安装增加了不必要的复杂性。

实际上,我直到参加了一个无关的课程后才开始接触 Linux,该课程在 Red Hat Linux 的终端上运行大型机程序。有机会使用它确实对给予我尝试 Linux 的信心起到了奇效。

谢谢 Drew 花时间分享你的经验以及对我未来使用 Linux 的一些想法。我只需要找到时间回到我的 Chromebook 上,看看它会把我带向何方。很高兴知道有文档可以提供帮助。

回复 作者 dragonbite

我非常喜欢阅读 Linux 用户的故事。我更惊讶的是,进入 Linux 的第一步是在 Chromebook 上,特别是使用 Crouton,因为在此过程中可能会遇到一些小问题,例如使软件中心工作。我写了一份指南,展示了安装 Ubuntu 后要做的 30 件事,这与你文章中链接的指南类似 (http://linux.about.com/od/Blog/tp/30-Things-To-Do-After-Installing-Ubuntu.htm)。

Gary,这个列表太棒了——谢谢你——下次当我回到我的 Linux 桌面时,我一定会把它调出来!

回复 作者 Gary Newell (未验证)

我用 Python 和 {{{叹气}}} VBA(在 MS 环境中)编写代码。显然,在 VBA 中编写代码从来没有帮助我接触到 Linux 的精妙之处,但 Python 也 sort-of 没有。我确实在命令行中工作过一些时间(喜欢 ffmpeg,这是一个非常快速、强大的工具!),并从 git / trunk 编译我自己的 Blender3D,但说实话,我发现我所做的大部分事情以前已经做过了,所以 99% 的时间,我都在复制和粘贴别人的工作。我想我是一个相当随意的(相对于“高级”)Linux 用户……好吧,考虑一下发行版:Mint?应该说明一切了。:)

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.