提升 Linux 培训师的水平

您可以在几秒钟内编写 shell 脚本,在睡梦中破解内核,并展示其他 Linux 巫术般的绝技——但您会教书吗?

我热爱 Linux 教学。无论是为 Linux 新手教授入门级课程,还是为经验丰富的管理员教授高级最佳实践课程,我都会听到共同的反馈。大多数 Linux 讲师都很优秀,但我们可以做得更好。Linux 培训存在一些常见问题,我们大多数人都经历过或将在某个时候经历。我确信也存在一些常见的解决方案。在课堂上花费了数百小时后,我确信有一些关键概念将使尽职尽责的 Linux 讲师像我们所教授的操作系统一样出色。

如果您有兴趣将您的实践经验带入课堂,或者您已经担任导师或教师的角色,那么这里有一些关键点可以帮助您改善学生的体验。

关键点 #1:像对待专业客户一样对待学生

Linux 不再是反主流文化极客和黑客在父母地下室工作的技术。包括培训师在内的 Linux 专业人士必须将自己展现为真正的专业人士。这意味着关注所有学生的成功,并将他们视为客户。我也做咨询和培训。没有哪个优秀的顾问会想到走进客户的现场,打开终端并随意输入。首先,顾问会询问客户的目标,了解环境,然后才开始工作。一位优秀的培训师以同样的方式对待课堂。我们不仅仅是打开书本,启动幻灯片,然后走过场。相反,我们专注于学生。

专注于学生意味着了解他们对课程的需求。学生为什么来上课?他们的学习目标是什么?他们如何才能在离开时觉得这门课程是对他们的时间和金钱的宝贵投入?一位优秀的讲师会找到这些问题的答案,然后根据学生的期望调整课程。

培训师也必须反省自身。一位真正的专业培训师永远不会显得居高临下或冷漠。专业的培训师会营造一种轻松愉快的课堂环境,让所有学生都感到放松和舒适,可以提出问题。我们都经历过糟糕的培训。讲师可能更关心展示自己知道多少,而不是传授知识。或者,培训师可能只是单调地阅读幻灯片(“布勒,布勒,布勒”...)几个小时。

我曾在这些情况下当过学生。在任何一种情况下,讲师都忘记了课堂体验的一个关键要素。他或她忘记的是,课堂环境旨在实现互动。一位优秀的讲师期望与学生就该主题进行对话。

关键点 #2:教授概念,而不是命令

越来越多的企业正在采用基于 Linux 的技术来执行关键业务功能。随着他们这样做,越来越多的现有系统管理员正在从 Windows 等其他操作系统过渡到 Linux。随着越来越多的学生来自 Windows 系统管理领域,我们有现有的知识可以借鉴。我们应该利用这一点来帮助学生理解标准系统管理实践在 Linux 特定应用中的应用。如果我们专注于我们已经与具有专业 IT 经验的学生拥有的共同点,我们就会自动成为更好的讲师。

Linux 培训中犯的最大错误之一就是只教授常用命令和选项列表。以这种方式教学既枯燥又无效。教授概念。经验丰富的 Windows 管理员知道如何管理用户、修改文件权限和安排自动化作业。因此,与其直接跳到描述 useradd、chmod 和 cron,不如先谈谈在任一操作系统中完成这些任务所涉及的通用概念。帮助学生理解 Linux 完成这些事情背后的理念。只有在讨论完这些之后,再介绍命令。

命令行对于 Linux 新手来说非常令人生畏。让任何学科的学习不那么令人生畏的是理解所涉及的模式。我所说的“模式”是指贯穿特定主题的任何应用的通用概念。例如,大多数优秀的 Linux 课程都从一个早期的模块开始,讨论 Linux 命令行的命令-选项-参数模式。一位优秀的讲师会帮助学生将此应用于实验室环境。让我们进一步深入探讨这个想法。

例如,几个潜在的破坏性文件管理命令(cp rmmv)都有一个选项可以使它们不那么具有破坏性。这些命令有一个通用的选项,可以使它们在完成破坏性操作之前提示用户。该选项是 -i。当然,我们许多使用 Linux 多年的人都认为这个简单的事实是理所当然的,而从未想过为什么使用 -i 选项。看看手册页。它指出 -i 将命令置于“交互式”模式——因此会提示。

您可能会问,“为什么这很重要?” 在这个例子中,这很重要,因为如果我们教的是一群习惯于在删除文件之前得到提示的人,他们会想,“我怎样才能让这个命令在我犯错时提示我?” 通过了解 -i 选项的含义,讲师可以解释 -i 选项行为的原因或模式。当您知道为什么选择 -i 作为选项时,就更容易记住它。

使用 -v 使命令 verbose,使用 -h 使文件大小 human-readable 等等也是如此。解释选项的含义以及如何使用它,并提供示例作为学生模仿的模式。演示和解释通用命令语法的模式是将命令行转化的第一步。一位优秀的讲师会将令人生畏的黑色终端和闪烁的光标转变为 Linux 新手的强大盟友。

关键点 #3:将真实世界的经验带入课堂

主流 IT 培训中存在一种令人不安的做法。对于许多技术领域,认证等同于经验或技能——但在我们的世界中并非如此。认证不是我们衡量 Linux 世界经验的方式。Linux 经验更多地是通过一个人可以熟练管理多少个发行版来衡量的,无论他们是否在必须从源代码编译二进制文件时感到害怕,或者他们是否能够轻松地编写重复性任务的脚本。

我的意思是,在许多大型培训公司的培训师中,看到他们拥有一长串行业认证,从基本的桌面故障排除到“安全”认证,这并不罕见。在一长串认证中添加 Linux 认证并不能使人们成为专家,也不能使他们有资格进行教学。这仅仅意味着他们能够通过另一项测试。更糟糕的是,如果考试没有任何实际部分,让考生挑战完成各种管理任务,那么它只能证明他们是优秀的应试者。

实际工作经验比通过任何考试都重要。尽管我拥有许多 Linux 认证并教授许多认证课程,但我回答学生提出的真实世界问题的能力来自于我在生产环境中的经验。能够将关于脚本的幻灯片变成关于在 Linux 中高效工作的有趣对话,来自于数据中心的漫长夜晚。解释如何在实际开发项目中使用 Linux 来自于在使用 Linux 的开发实验室工作。

如果您打算开始教授 Linux,请不要试图了解通过某些认证所需的一切知识。相反,成为你已经成为的那种人。我的意思是,如果您是那个可以即时编写复杂 iptables 链的人,请考虑如何将其教给他人。也许您是调整逻辑卷大小或连接 SAN 存储的“百事通”。弄清楚如何将使您在生产环境中变得有价值的经验转移到培训中心。当然,讲师有必要熟悉课程的所有主题;然而,讲师的价值来自于他在少数几个主题上的深度,他可以在这些主题上进行扩展,并为学生产生真正的影响。

关键点 #4:保持您的知识与时俱进

我离开 Linux 系统管理和培训一段时间,去追求不同的商业和投资机会。当我回来时,一些事情发生了变化。由于 apt 和 yum 等软件包管理实用程序,对于普通用户来说,依赖地狱已经成为过去。在我休假之前我教过的所有以前的课程都侧重于 rpm 或 dpkg,我非常擅长向学生展示如何解决依赖关系。现在,我的经验已经过时,不再那么有用。

这教会了我一个宝贵的教训。不要让您接触 Linux 的唯一时间是在课堂上。不要等到您准备教课时才接触。保持与时俱进。保持与时俱进的最好方法是有真正的工作要做。因此,寻找一些需要系统管理帮助的大型或小型客户。用旧 PC 或 VPS 构建一个沙箱。尝试在 Linux 服务器上学习一种新的编程语言。尽一切努力保持您的经验新鲜。

结果是您将了解学生在现实世界中正在经历什么。例如,我以痛苦的方式发现了 Ubuntu 12.04 中 resolve.conf 管理的更改。(当然,我可以阅读发行说明,但谁有时间呢?)在多次编辑 resolv.conf 文件但没有成功后,我最终花了一些时间阅读如何使用 resolvconf 实用程序。现在,当学生在最新 LTS 版本的 Ubuntu 中提到此更改时,我不会茫然地看着他们,而是可以就该主题进行智能地交谈。

我是否了解每个发行版和每次更改的最新情况?显然没有,但我也没有一无所知。根据学生、培训经理和我的几位咨询客户的说法,这就是优秀培训师之所以伟大的原因。他们在该领域保持活跃。当然,您可以将所有时间都花在课堂上,赚取可观的收入并让学生相对满意。但是,如果您花时间练习您的技能并保持与时俱进,您会感觉自己更有知识,并且能够更好地完成前三个关键点。

永远不要忘记您从哪里开始

回想一下您第一次坐在 Linux 或 UNIX 控制台前的情景。我的经历大约是在 1996 年在当地大学的暑期班上——SGI Onyx 上的 IRIX。我发现不熟悉的界面令人生畏。我现在已经爱上了终端。

如果您第一次走进 Linux 或 UNIX 课堂时感到任何程度的恐惧,请记住当您走进教室教别人时。要同情。让环境轻松。人们在恐惧时学不好。开几个玩笑(不要太多,您不是小丑)。在一周的中途带些甜甜圈。讲一个或(最多)两个个人故事。成为学生眼中的真人。让他们将您视为一位真诚希望他们在新操作系统环境中感到舒适的新朋友。如果您真的这样想,那将非常有帮助。

回想一下您在 Linux 或 UNIX 中经历过的最糟糕的培训体验。我的经历是在 2002 年,在大学毕业后的第一份工作——IBM 系统组存储开发实验室。一位与我共事的工程师让我输入带有多个选项、重定向符和管道的长命令……但没有解释每个花哨的符号的作用。我尽力将每一个都写下来。我花了几个小时感到沮丧,不明白自己为什么要输入这些长命令,并且经历了不必要的失败。

如果您曾经问过“该命令是做什么的?”或“为什么必须将该选项放在最后?”,但没有得到明确的答案,请记住当您的学生向您提问时。更好的是,在帮助他们理解概念时要足够清晰,这样他们就不需要提问了。如果教授一个复杂的主题,请引导他们完成每个步骤,并帮助他们理解正在做什么以及为什么要这样做。在您确信大多数学生都理解之前,不要继续前进。如果大多数人仍然感到困惑,那说明您没有足够好地解释概念,并且您还没有完成。

回想一下您曾经做过的最乏味、最恼人、最单调的任务,但后来才发现如果事先接受过适当的培训,就可以轻松得多。我的经历是与另一位工程师合作,他为几个外部存储设备写下了 60-100 个全球端口名称(类似于 MAC 地址),然后在 HP-UX 上配置 LVM 时手动输入了每个名称。他输入一个命令从系统中获取代码,将每个 16 位十六进制代码写在一张纸上,然后手动将其作为另一个命令的参数重新输入。如果出现任何错误,该命令需要 1-2 分钟才能向用户发出错误警报。

如果您曾经意识到正确的培训本可以使您爱上脚本编写和学习新的 Linux 实用程序,但为时已晚,并且您浪费了八个小时的生命来做一些困难的事情,请让您的学生的经历有所不同。他们中的许多人已经很努力工作了。帮助他们也聪明地工作。

与我前面提到的 LVM 配置的每个 16 位十六进制代码手动输入不同,一位海军陆战队员教了我更好的方法。他曾是特种部队成员,因残疾而重返实验室工作。他的军事训练教会了他高效工作,不浪费精力。当他向我展示用更少的努力和更少的人为错误完成任务的正确方法时,我感到非常惊讶。那是我第一次看到 cutgrep 和 for 循环以实际方式使用。他让我爱上了 *NIX。我立刻意识到如何教别人。处理实际问题。展示真正的解决方案。教授概念。

通过与学生互动,教授概念并保持我们真实世界的知识新鲜,我们可以成为更好的专业人士和更好的培训师。因此,如果您一直在考虑成为一名培训师,或者您已经在工作中承担了一些培训职责,请遵循上述关键点。您将为您培训的人提供高质量的体验,并让下一代 Linux 信徒免受我们许多人经历过的痛苦。

教师图片来自 Shutterstock.com。

加载 Disqus 评论