---
author: Sk
category: 技术
comments_data: []
count:
  commentnum: 0
  favtimes: 4
  likes: 0
  sharetimes: 0
  viewnum: 10195
date: '2018-03-28 19:17:06'
editorchoice: false
excerpt: 我们来看看几款能帮助你实时学习和练习 Linux 命令的游戏。这些游戏不是消磨时间或者令人惊诧的，这些游戏将帮助你获得终端命令的真实体验。
fromurl: https://www.ostechnix.com/test-your-bash-skills-by-playing-command-line-games/
id: 9490
islctt: true
largepic: /images/p/201803/28/191709ypqaa7lbuj6q4gtb.png
permalink: /article-9490-1.html
pic: /images/p/201803/28/191709ypqaa7lbuj6q4gtb.png.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 我们来看看几款能帮助你实时学习和练习 Linux 命令的游戏。这些游戏不是消磨时间或者令人惊诧的，这些游戏将帮助你获得终端命令的真实体验。
tags:
- 游戏
- 命令行
thumb: false
title: 通过玩命令行游戏来测试你的 BASH 技能
titlepic: true
translator: MjSeven
updated: '2018-03-28 19:17:06'
---

![](/images/p/201803/28/191709ypqaa7lbuj6q4gtb.png)


如果我们经常在实际场景中使用 Linux 命令，我们就会更有效的学习和记忆它们。除非你经常使用 Linux 命令，否则你可能会在一段时间内忘记它们。无论你是新手还是老手，总会有一些趣味的方法来测试你的 BASH 技能。在本教程中，我将解释如何通过玩命令行游戏来测试你的 BASH 技能。其实从技术上讲，这些并不是像 Super TuxKart、极品飞车或 CS 等真正的游戏。这些只是 Linux 命令培训课程的游戏化版本。你将需要根据游戏本身的某些指示来完成一个任务。


现在，我们来看看几款能帮助你实时学习和练习 Linux 命令的游戏。这些游戏不是消磨时间或者令人惊诧的，这些游戏将帮助你获得终端命令的真实体验。请继续阅读：


### 使用 “Wargames” 来测试 BASH 技能


这是一个在线游戏，所以你必须联网。这些游戏可以帮助你以充满乐趣的游戏形式学习和练习 Linux 命令。Wargames 是一个 shell 游戏的集合，每款游戏有很多关卡。只有通过解决先前的关卡才能访问下一个关卡。不要担心！每个游戏都提供了有关如何进入下一关的清晰简洁说明。


要玩 Wargames，请点击以下链接：[Wargames](http://overthewire.org/wargames/) 。


![](/images/p/201803/28/191711qi5vzrdmdadz5lfk.png)


如你所见，左边列出了许多 shell 游戏。每个 shell 游戏都有自己的 SSH 端口。所以，你必须通过本地系统配置 SSH 连接到游戏，你可以在 Wargames 网站的左上角找到关于如何使用 SSH 连接到每个游戏的信息。


例如，让我们来玩 Bandit 游戏吧。为此，单击 Wargames 主页上的 Bandit 链接。在左上角，你会看到 Bandit 游戏的 SSH 信息。


![](/images/p/201803/28/191713idg6d8mbdbqtq0dw.png)


正如你在上面的屏幕截图中看到的，有很多关卡。要进入每个关卡，请单机左侧列中的相应链接。此外，右侧还有适合初学者的说明。如果你对如何玩此游戏有任何疑问，请阅读它们。


现在，让我们点击它进入关卡 0。在下一个屏幕中，你将获得该关卡的 SSH 信息。


![](/images/p/201803/28/191714dc23z3fa7aaw32nu.png)


正如你在上面的屏幕截图中看到的，你需要配置 SSH 端口 2220 连接 `bandit.labs.overthewire.org`，用户名是 `bandit0`，密码是 `bandit0`。


让我们连接到 Bandit 游戏关卡 0。



```
$ ssh bandit0@bandit.labs.overthewire.org -p 2220

```

输入密码 `bandit0`。


示例输出将是：


![](/images/p/201803/28/191716iwvac1ec03veiqzz.png)


登录后，输入 `ls` 命令查看内容或者进入关卡 1 页面，了解如何通过关卡 1 等等。建议的命令列表已在每个关卡提供。所以，你可以选择和使用任何合适的命令来解决每个关卡。


我必须承认，Wargames 是令人上瘾的，并且解决每个关卡是非常有趣的。 尽管有些关卡确实很具挑战性，你可能需要谷歌才能知道如何解决问题。 试一试，你会很喜欢它。


### 使用 “Terminus” 来测试 BASH 技能


这是另一个基于浏览器的在线 CLI 游戏，可用于改进或测试你的 Linux 命令技能。要玩这个游戏，请打开你的 web 浏览器并导航到以下 URL：[Play Terminus Game](http://web.mit.edu/mprat/Public/web/Terminus/Web/main.html)


一旦你进入游戏，你会看到有关如何玩游戏的说明。与 Wargames 不同，你不需要连接到它们的游戏服务器来玩游戏。Terminus 有一个内置的 CLI，你可以在其中找到有关如何使用它的说明。


你可以使用命令 `ls` 查看周围的环境，使用命令 `cd 位置` 移动到新的位置，返回使用命令 `cd ..`，与这个世界进行交互使用命令 `less 项目` 等等。要知道你当前的位置，只需输入 `pwd`。


![](/images/p/201803/28/191717f33idouki1z96gjr.png)


### 使用 “clmystery” 来测试 BASH 技能


与上述游戏不同，你可以在本地玩这款游戏。你不需要连接任何远程系统，这是完全离线的游戏。


相信我，这家伙是一个有趣的游戏。按照给定的说明，你将扮演一个侦探角色来解决一个神秘案件。


首先，克隆仓库：



```
$ git clone https://github.com/veltman/clmystery.git

```

或者，从 [这里](https://github.com/veltman/clmystery/archive/master.zip) 将其作为 zip 文件下载。解压缩并切换到下载文件的地方。最后，通过阅读 `instructions` 文件来开启宝箱。



```
[sk@sk]: clmystery-master>$ ls
cheatsheet.md cheatsheet.pdf encoded hint1 hint2 hint3 hint4 hint5 hint6 hint7 hint8 instructions LICENSE.md mystery README.md solution

```

这里是玩这个游戏的说明：


终端城发生了一起谋杀案，TCPD 需要你的帮助。你需要帮助它们弄清楚是谁犯罪了。


为了查明是谁干的，你需要到 `mystery` 子目录并从那里开始工作。你可能需要查看犯罪现场的所有线索（ `crimescene` 文件）。现场的警官相当谨慎，所以他们在警官报告中写下了一切。幸运的是，警官以全部大写的 “CLUE” 一词把真正的线索标记了出来。


如果里遇到任何问题，请打开其中一个提示文件，例如 “hint1”，“hint2” 等。你可以使用下面的 `cat` 命令打开提示文件。



```
$ cat hint1
$ cat hint2

```

要检查你的答案或找出解决方案，请在 `clmystery` 目录中打开文件 `solution`。



```
$ cat solution

```

要了解如何使用命令行，请参阅 `cheatsheet.md` 或 `cheatsheet.pdf` （在命令行中，你可以输入 ‘nano cheatsheet.md’）。请勿使用文本编辑器查看除 `instructions`、`cheatsheet` 和 `hint` 以外的任何文件。


有关更多详细信息，请参阅 [clmystery GitHub](https://github.com/veltman/clmystery) 页面。


推荐阅读：


而这就是我现在所知道的。如果将来遇到任何问题，我会继续添加更多游戏。将此链接加入书签并不时访问。如果你知道其他类似的游戏，请在下面的评论部分告诉我，我将测试和更新本指南。


还有更多好东西，敬请关注！


干杯！




---


via: <https://www.ostechnix.com/test-your-bash-skills-by-playing-command-line-games/>


作者：[SK](https://www.ostechnix.com/author/sk/) 译者：[MjSeven](https://github.com/MjSeven) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出