学习 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 领导红帽数字社区团队的社区经理团队。她与丈夫和女儿 June 和 Jewel 一起住在罗利。

13 条评论

很棒的文章!我作为一名非程序员学习了 Linux。我从其他愿意分享的人那里学会了编码和编写脚本。这就是我喜欢 Linux 和开源社区的普遍之处,即乐于分享。

这里的问题是,您用这样的文章来喂养反 Linux 鲨鱼。
Linux 提供的是自由,可以走出 MS 和 Apple 创建的盒子,这个盒子说:“您应该只使用我们提供的或某人卖给您的软件。您太笨了,无法摆弄我们给您的 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 的艰难道路;吸引所有人的经验水平、兴趣和能力。有些人需要真正轻松地入门,而另一些人则准备好跳进去并开始破坏东西(-呃,我的意思是探索系统 ;) )。

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

我发现 Ubuntu 很方便让人们入门,因为它专注于学习“底层”知识,而不是因尝试获得可工作且可用的系统而气馁。有时从“头开始”使系统工作可能需要进一步的 Linux 知识才能理解正在发生的事情(或需要做的事情)。

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

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

实际上,我直到参加了一个不相关的课程,该课程在 Red Hat Linux 的终端上运行大型机程序后才开始接触 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)

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

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.